DOCTYPE必须在所有标记的前面。全部大写。 W3C规定。
过渡型 Transitional
严格型 Strict 不能使用表现层的标记和属性。
框架型 Frameset 可使用框架。
只有XML Prolog可以在DOCTYPE前面。
(IE6遇到prolog则不能正确显示网页)
如果网页是以一个DOCTYPE标签开始的,这意味着设计师了解Web标准,并打算遵循标准。
浏览器就应该按照W3C的规范来解析这样的网页。
DOCTYPE切换
一个包含完整URI的XHTML DOCTYPE告诉浏览器以标准模式渲染网页,
根据相应的W3C规范来执行CSS,XHTML和JavaScript。
一些完整的HTML 4 DOCTYPE也会触发标准模式。
使用一个不完整或过期的DOCTYPE或根本不用DOCTYPE时,浏览器会启用Quirks模式,
这种模式假定你的(也许是正确的)书写是过时的,含有不合法标签和某种浏览器专属的非标准代码。
一个完整的HTML 4.0 DOCTYPE却会触发quirks模式。
完整的和不完整的DOCTYPE
一些开发工具会插入不带的DOCTYPE,是不完整的。浏览器会进入Quirks模式。
但是,IE8之前的浏览器,只要有XHTML DOCTYPE存在,就会切换到标准模式。
IE8的4种模式
标准模式: 默认。标记合法,包含完整URI的DOCTYPE(HTML4.01以上)
Quirks模式: 使用不合法文档而且没有DOCTYPE。以IE5.5的方式渲染页面。
IE7标准模式(IE8兼容视图): 使用IE7的方式渲染页面。
IE8准标准模式: 与Mozilla/Firefox的准标准模式差不多,类似IE6/7的标准模式。
阅读(1709) | 评论(0) | 转发(0) |