浏览器 怪异模式(Quirks Mode) 与 标准模式(Standards Mode)

浏览器 怪异模式(Quirks Mode) 与 标准模式(Standards Mode)

怪异模式,浏览器使用自己的方式解析渲染页面,在不同的浏览器就会显示不同的样式。
标准模式,浏览器使用W3C的标准解析渲染页面。

通过 document.compatMode 的值可以知道当前用的是什么模式。
BackCompat:怪异模式
CSS1Compat:标准模式


IE 6 for Windows/mac, Mozilla, Safari和Opera 都实现了这两种模式,但是IE 6以下版本永远定在了怪异模式。
没有指定dtd将会开启浏览器的怪异模式,这种说法是错的!正确的说法应该是没有定义doctype才会开启怪异模式。


在标准化之前写的页面是没有doctype的,因此没有doctype的页面是在怪异模式下渲染的。
反过来说,如果web开发人员加入的doctype,说明他知道他所要做的事情,大部分的doctype会开启标准模式,页面也会按照标准来渲染。
任何新的或者未知的doctype都会开启标准模式,即只要doctype标签存在就足以开启标准模式了。参考:http://www.quirksmode.org/css/quirksmode.html#link2
每个浏览器都有自己的方式来激活怪异模式。参考:http://hsivonen.iki.fi/doctype/

<!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前。
<!DOCTYPE> 声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。
在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。
HTML5 不基于 SGML,所以不需要引用 DTD。

常用的 DOCTYPE 声明:

HTML 5
<!DOCTYPE html>

HTML 4.01 Strict
该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

HTML 4.01 Transitional
该 DTD 包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font)。不允许框架集(Framesets)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

HTML 4.01 Frameset
该 DTD 等同于 HTML 4.01 Transitional,但允许框架集内容。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

转载于:https://www.cnblogs.com/guodefu909/p/4214105.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值