HTML的Doctype和严格模式与混杂模式
来源:互联网 发布:mem 知乎 编辑:程序博客网 时间:2024/05/29 11:19
DOCTYPE:(Document Type)文档类型,它位于文档中最前面的位置,处于标签之前。
作用:告诉浏览器文档使用哪种html或者xhtml规范。确定了正确的Doctype,xhtml里面的标识和css才能正常生效(也就是说它会告诉浏览器怎么解释你的这个标签和你写的css)。
如果Doctype声明指定的是xhtml DTD(文档类型定义),但文档包含的依旧是html标记就是不恰当的。类似的,如果文档包含的是xhtml 1.0 strict标记,但是Doctype声明指定是html dtd也是不恰当的。
一、选择什么样的DOCTYPE?
xhtml 1.0中有3种dtd声明可以选择,过渡性的(Transitional)、严格的(Strict)、框架的(Frameset)。
1、过渡性的:一种要求不很严格的,允许在html中使用html 4.01的标识(符合xhtml语法标准),过渡的dtd写法如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2、严格的:一种要求严格的dtd,不允许使用任何表现层的标识和属性,严格的dtd写法如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3、框架的:一种专门针对框架页面所使用的dtd,当页面中含有框架元素时,就要采用这种dtd,写法如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
对于还没有深入了解web标准的网页设计者,比较适合用过渡的dtd,因为这种dtd还允许使用表现层的标识、元素和属性,比较适合大多数的网页制作人员。
二、文档模式
不同文档模式主要影响CSS内容的呈现,尤其是浏览器对盒模型的解析,但在某些情况下也会影响到JavaScript的解释执行。
文档模式目前有四种:
混杂模式(quirks mode):让IE的行为与(包含非标准特性的)IE5相同
标准模式(standards mode):让IE的行为更接近标准行为,使用IE7的呈现引擎
准标准模式(almost standards mode):这种模式下的浏览器特性有很多都是符合标准的,不标准的地方主要体现在处理图片间隙的时候(在表格中使用图片时问题最明显)。
超级标准模式:IE8引入的一种新的文档模式,超级文档模式可以让IE以其所有版本中最符合标准的方式来解释网页内容。
DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。
三、混杂模式和严格模式
浏览器模式:
浏览器有两种呈现模式:标准模式和混杂模式(quirks mode)。
在标准模式中,浏览器根据规范呈现页面;
混杂模式是一种比较宽松的向后兼容的模式。混杂模式通常模拟老式浏览器的行为,以防止老站点无法工作。
所有的浏览器都需要提供两种模式:混杂模式服务与旧式规则,而严格模式服务于标准规则。
两种模式间的差异:
对于这两种模式之间的差异,最显著的一个例子与Windows上IE专有的盒模型有关。在IE 6出现时,在标准模式中使用的是正确的盒模型,在混杂模式中使用的则是老式的专有盒模型。为了维持对IE 5和更低版本的向后兼容性,Opera 7和更高版本也在混杂模式中使用有缺点的IE盒模型。
呈现方面的其他差异比较小,而且是与特定浏览器相关的,包括对于十六进制颜色值不需要#号、假设CSS中没有指定单位的长度的单位是像素,以及在使用关键字时将字号增加一级。
- HTML的Doctype和严格模式与混杂模式
- DOCTYPE 严格模式与混杂模式
- DOCTYPE 严格模式与混杂模式
- DOCTYPE 严格模式与混杂模式
- Doctype & 严格模式与混杂模式
- Doctype严格模式与混杂模式的区别
- HTML的严格模式和混杂模式
- HTML中Doctype的作用以及浏览器的严格模式和混杂模式的区别
- 前端知识html和xhtml,Link和@import,doctype,严格模式和混杂模式。如何触发
- Doctype的作用和如何区分严格模式和混杂模式,有什么意义
- DOCTYPE 声明的作用是什么? 严格模式与混杂模式如何区分?
- JX8NET游戏 Doctype文档声明的严格模式和混杂模式
- 严格模式与混杂模式
- 严格模式和混杂模式
- Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?
- Doctype作用? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?
- Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?
- DOCTYPE 严格模式与JS严格模式
- Spring容器初始化过程都做了哪些事儿
- Linux开发基础(1):开发板的挂载
- SHFileOperation()的外壳函数,用它可以实现各种文件操作,如文件的拷贝、删除、移动等
- 查找 关键字 是否在lib中
- redis incr
- HTML的Doctype和严格模式与混杂模式
- JSP第一个实例之用户管理系统
- Oracle高级篇之start with关键字的用法
- SQL提高查询效率【in、not in、between、like】等条件讲述
- 使用vlc搭建http ts流服务器
- 《CODE》 读书笔记16
- 《C和指针》——stdarg宏简介
- 《深入理解Android 卷I》读书笔记
- Android Studio中的图片存放