前端面试题及答案
1、html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和HTML5?
(1)HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,多任务等功能的增加。
(2)用于媒介回放的 video 和 audio 元素
(3)本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失
(4)语意化更好的内容元素,比如 article、footer、header、nav、section
(5)新的技术webworker, websockt, Geolocation移除的元素
(6)对可用性产生负面影响的元素:frame,frameset,noframes;支持HTML5新标签
(7)IE8/IE7/IE6支持通过document.createElement方法产生的标签
(8)浏览器支持新标签后,还需要添加标签默认的样式
2、CSS隐藏元素的几种方法
(1)Opacity:元素本身依然占据它自己的位置并对网页的.布局起作用。它也将响应用户交互;
(2)Visibility:与 opacity 唯一不同的是它不会响应任何用户交互。此外,元素在读屏软件中也会被隐藏;
(3)Display:display 设为 none 任何对该元素直接打用户交互操作都不可能生效。此外,读屏软件也不会读到元素的内容。这种方式产生的效果就像元素完全不存在;
(4)Position:不会影响布局,能让元素保持可以操作;
(5)Clip-path:clip-path 属性还没有在 IE 或者 Edge 下被完全支持。如果要在你的 clip-path 中使用外部的 SVG 文件,浏览器支持度还要低。
3、页面导入样式时,使用link和@import有什么区别?
(1)link属于XHTML标签,除了加载CSS外,还能用于定义RSS, 定义rel连接属性等作用;而@import是CSS提供的,只能用于加载CSS;
(2)页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载;
(3)import是CSS2.1 提出的,只在IE5以上才能被识别,而link是XHTML标签,无兼容问题。
4、性能优化的方法
(1) 减少http请求次数:CSS Sprites, JS、CSS源码压缩、图片大小控制合适;网页Gzip,CDN托管,data缓存 ,图片服务器;
(2) 用innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能。
(3) 避免使用CSS Expression(css表达式)又称Dynamic properties(动态属性)。
(4) 当需要设置的样式很多时设置className而不是直接操作style。
(5) 图片预加载,将样式表放在顶部,将脚本放在底部 加上时间戳。
【前端面试题及答案】相关文章:
web前端面试题及答案02-19
Web前端面试题目及答案06-09
前端面试题库及答案05-09
前端面试题01-20
HTML前端开发面试题及前端知识01-12
web前端面试题02-25
前端开发面试题01-14
前端开发面试题大全01-19
最新web前端面试题12-23