前端面试题 --html 篇
1. Doctype 作用? 标准模式与兼容模式各有什么区别?
<!DOCTYPE > 声明位于位于 HTML 文档中的第一行, 处于 <HTML > 标签之前. 告知浏览器的解析器 用什么文档标准解析这个文档. DOCTYPE 不存在或格式不正确会导致文档 以兼容模式呈现. 标准模式的排版 和 JS 运作模式都是以该浏览器支持的最高标准运行. 在兼容模式中, 页面以宽松的向后兼容的方式显示, 模拟老式浏览器的行为以防止站点无法工作.
2.HTML5 为什么只需要写 <!DOCTYPE HTML>
HTML5 不基于 SGML, 因此不需要对 DTD 进行引用, 但是需要 doctype 来规范浏览器的行 为(让浏览器按照它们应该的方式来运行); 而 HTML4.01 基于 SGML, 所以需要对 DTD 进行引用, 才能告知浏览器文档所使用的文档类型.
3. 行内元素有哪些? 块级元素有哪些? 空 (void) 元素有那些?
首先: CSS 规范规定, 每个元素都有 display 属性, 确定该元素的类型, 每个元素都有 默认的 display 值, 如 div 的 display 默认值为 "block", 则为 "块级" 元素; span 默认 display 属性值为 "inline", 是 "行内" 元素.
(1)行内元素有:<a> <b> <span> <img> <input> <select> <strong>
(2)块级元素有:<div><ul> <ol> <li> <dl> <dt> <dd> <h1> <h2> <h3> <h4>...<p>
(3)常见的空元素:<img><input><link><meta><br><hr>
鲜为人知的是: <area><base><col><command><embed><keygen><param><source><track><wbr>
4. 页面导入样式时, 使用 link 和 @import 有什么区别?
link 属于 XHTML 标签, 除了加载 CSS 外, 还能用于定义 RSS, 定义 rel 连接属性等作用; 而 @import 是 CSS 提供的, 只能用于加载 CSS; 页面被加载的时, link 会同时被加载, 而 @import 引用的 CSS 会等到页面被加载完再加 载; import 是 CSS2.1 提出的, 只在 IE5 以上才能被识别, 而 link 是 XHTML 标签, 无兼容问题;
5. 介绍一下你对浏览器内核的理解?
主要分成两部分: 渲染引擎 (layout engineer 或 Rendering Engine) 和 JS 引擎.
渲染引擎: 负责取得网页的内容(HTML,xml, 图像等等), 整理讯息(例如加入 CSS 等), 以及计算网页的显示方式, 然后会输出至显示器或打印机. 浏览器的内核的不
同对于网页的语法解释会有不同, 所以渲染的效果也不相同. 所有网页浏览器, 电子 邮件客户端以及其它需要编辑, 显示网络内容的应用程序都需要内核.
JS 引擎则: 解析和执行 JavaScript 来实现网页的动态效果. 最开始渲染引擎和 JS 引擎并没有区分的很明确, 后来 JS 引擎越来越独立, 内核就倾向 于只指渲染引擎.
6. 常见的浏览器内核有哪些?
Trident 内核: IE,MaxThon,TT,The World,360, 搜狗浏览器等.[又称 MSHTML]
Gecko 内核: Netscape6 及以上版本, FF,MozillaSuite/SeaMonkey 等
Presto 内核: Opera7 及以上.
[Opera 内核原为: Presto, 现为: Blink;]
webkit 内核: Safari,Chrome 等. [ Chrome 的: Blink(WebKit 的分支)]
7.html5 有哪些新特性, 移除了那些元素? 如何处理 HTML5 新标签的浏览器兼容问题?
如何区分 HTML 和 HTML5?
HTML5 现在已经不是 SGML 的子集, 主要是关于图像, 位置, 存储, 多任务等功能的 增加.
绘画 canvas;
用于媒介回放的 video 和 audio 元素; 本地离线存储 localStorage 长期存储数据, 浏览器关闭后数据不丢失;
sessionStorage 的数据在浏览器关闭后自动删除;
语意化更好的内容元素, 比如 article,footer,header,nav,section;
表单控件, calendar,date,time,email,url,search;
新的技术 webworker, websocket, Geolocation;
纯表现的元素: basefont,big,center,font, s,strike,tt,u;
对可用性产生负面影响的元素: frame,frameset,noframes;
- . CSS
- .bb{
- background-color:#f1ee18;/ 所有识别 /
- .background-color:#00deff\9; /IE6,7,8 识别 /
- +background-color:#a200ff;/IE6,7 识别 /
- _background-color:#1e0bd1;/IE6 识别 */
- }
来源: http://www.jianshu.com/p/7cb6ea0de2d2