浏览器排版模式 怪异模式和标准模式

目前浏览器的排版引擎使用三种模式:怪异模式(Quirks mode)、接近标准模式(Almost standards mode)、以及标准模式(Standards mode)。在怪异模式下,排版会模拟 Navigator 4 与 Internet Explorer 5 的非标准行为。为了支持在网络标准被广泛采用前,就已经建好的网站,这么做是必要的。在标准模式下,行为即(但愿如此)由HTML 与 CSS 的规范描述的行为。在接近标准模式下,只有少数的怪异行为被实现。

浏览器如何决定使用哪个模式?

对 HTML 文件来说,浏览器使用文件开头的 DOCTYPE 来决定用怪异模式处理或标准模式处理。

<!DOCTYPE html> //在 HTML5 中,DOCTYPE 唯一的作用是启用标准模式。
//请确定你把 DOCTYPE 正确地置于 HTML 文件的顶端。
//如果有任何其他字符位于 DOCTYPE 之前,比如注释或 XML 声明,
//会导致 Internet Explorer 9 或更早期的浏览器触发怪异模式。
<html>
  <head>
    <meta charset=UTF-8>
    <title>Hello World!</title>
  </head>
  <body>
  </body>
</html>

标准模式和怪异模式的区别

总的来说有布局、样式解析和脚本执行三个方面的区别。

盒模型:
在 W3C 标准中,如果设置一个元素的宽度和高度,
指的是元素内容的宽度和高度,而在 怪异模式 下,
IE 的宽度和高度还包含了 padding 和 border。
设置行内元素的高宽:
在 标准模式下,给等行内元素设置 width 和 height 都不会生效,
而在 怪异模式下,则会生效。
设置百分比的高度:
CSS中对于元素的百分比高度规定:百分比为元素包含块的高度,不可为负值;
如果包含块的高度没有显示给出,该值等同于auto,
所以百分比的高度必须是在元素有高度声明的情况下使用。
当一个元素使用百分比高度时,标准模式下,高度取决于内容变化,
怪异模式下,百分比高度被准确应用
用margin:0 auto 设置水平居中:
使用 margin:0 auto 在 标准模式下可以使元素水平居中,
但在 怪异模式下却会失效。
元素溢出的处理:
标准模式下,overflow取值默认为visible;
在怪异模式在,该溢出会被当做扩展box来对待,即元素的大小由内容决定,
溢出不会裁剪,元素框自动调整,包含溢出内容。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值