`

Quirks模式与Standards模式

 
阅读更多

如何进入Standards模式?

一般来讲浏览器是通过DTD来判断模式的;浏览器进入Standards模式的DTD有:HTML的strict.dtd和loose.dtd这两个DTD的简单区别是

  • strict去掉了许多表现的标签,有利于结构和表现的分离
  • loose会导致Firefox进入Almost Standards模式,在图片的处理上会有微小的差别

在IE6下,如果在DTD之前有任何字符都将导致其进入quirks模式

Quirks模式与Standards模式的区别

quirks和standards的区别很多都可以归为IE5和IE6的区别。

盒模型的高宽包含内补丁和边框
在W3C标准中,如果设置一个元素的宽度和高度,指的是元素内容的宽度和高度,而在Quirks模式下,IE的宽度和高度还包含了padding和border。IE5.5及以下的浏览器即使在Standards模式下,也会有这个问题
可以设置行内元素的高宽
在Standards模式下,给span等行内元素设置wdith和height都不会生效,而在quirks模式下,则会生效
可设置百分比的高度
在standards模式下,一个元素的高度是由其包含的内容来决定的,如果父元素没有设置百分比的高度,子元素设置一个百分比的高度是无效的
用margin:0 auto设置水平居中在IE下会失效
使用margin:0 auto在standards模式下可以使元素水平居中,但在quirks模式下却会失效,quirk模式下的解决办法,用text-align属性:
body{text-align:center};#{content:text-align:left}
设置图片的padding会失效
Table中的字体属性不能继承上层的设置
white-space: pre会失效
许多CSS默认样式将不同
在Standards模式下,给span等行内元素设置wdith和height都不会生效,而在quirks模式下,则会生效
JavaScript中的区别
Quirks mode的Table of measurements

参考

dom中的document有一个属性叫compatMode,其返回值是BackCompat和CSS1Compat,分别对应quirks mode和strict mode

void function(){
var mode=document.compat
if (mode="BackCompat")
alert("当前以quirks mode的方式渲染页面");
else if(mode="CSS1Compat")
alert("当前已strict mode的方式渲染页面");
else alert("浏览器版本不支持compatMode");
}()
分享到:
评论

相关推荐

    prettyPhoto---IE Quirks模式下的弹出窗口的好选择

    NULL 博文链接:https://theoffspring.iteye.com/blog/1582300

    quirksmode

    浏览器Quirksmode(怪异模式)与CSS1compat.docx

    浏览器Quirksmode模式与CSSCompat模式

    (资料备考 暂时不明白也无关系) 今天偶然看到了一道题中有这样一段: 在不同浏览器的Quirksmode和CSSCompat模式下都保持同一效果 其实对于学习标准的人可能更多的人熟悉Quirksmode,也许很多人(对JS不太熟悉的...

    quirks:怪癖模式标准

    简而言之,请更改quirks.bs并提交您的补丁,并附带一条。 如果您是这里的新手,请考虑阅读。 即使是微不足道的修复,也请在您的第一个请求请求中的“确认”部分添加您的名字。 名称按字典顺序排序。 在“本地”构建...

    浅谈浏览器兼容性模式[按F12便知]

    面试官:请你谈谈标准(Standards)模式、怪异(Quirks)模式、准标准(Almost Standards)模式,当你打开IE9时候会看见,浏览器模式,文档模式,兼容性视图,这些又是什么? 好吧,一点点来:先明白一个词DTD(文档类型...

    front-end-dev-basics:每个前端开发人员都应该知道的基础知识

    这里的关键是 IE 中的 quirks 模式与其他浏览器中的 quirks 模式大不相同,这意味着如果页面以 quirks 模式呈现,那么您将比在 quirks 模式下呈现时更难确保您的页面在所有浏览器中一致工作它们以标准模式呈现。...

    pdata-quirks.rar_legacy

    Legacy platform_data quirks.

    Chrome Quirks-crx插件

    Chrome Quirks是一个有趣的扩展程序,可让您将预加载的效果或自定义CSS注入到您访问的任何网页上。 开发人员可以快速轻松地编辑CSS并测试想法。 此扩展程序吸引了好奇和恶作剧的人,他们不禁与那些不太懂技术的朋友...

    前端vue面试题大全汇总

    3、Quirks 模式是什么?它和Standards 模式有什么区别. 4、div+css 的布局较table 布局有什么优点? 5、img 的alt 与title 有何异同? strong 与em 的异同? 6、你能描述一下渐进增强和优雅降级之间的不同吗? 7、为...

    IE8如何定义浏览器工作模式避免网页显示混乱

    随着IE8 beta1的发布,发现连sina有显示问题,由于IE8 对标准的“良好”执行,当 XHTML 文档使用 Transitinal 类型时,会自动选择 Quirks 模式,即 IE5 的模式来解析,所以也就不难理解为何大多数站点会遭遇显示问题...

    hid-quirks.rar_linux usb hid

    USB HID quirks support for Linux.

    完美解决jsp页面在IE8下文本模式自动为(杂项Quirks)导致页面显示错位

    下面小编就为大家带来一篇完美解决jsp页面在IE8下文本模式自动为(杂项Quirks)导致页面显示错位。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    html doctype 作用介绍

    文档模式主要有以下两个作用: ...2、对浏览器的渲染模式产生...BackCompat:标准兼容模式未开启(或叫怪异模式[Quirks mode]、混杂模式) CSS1Compat:标准兼容模式已开启(或叫严格模式[Standards mode/Strict mode])

    CSS基础知识

    资源名称:CSS基础知识...为了实现这一点,他们创建了两种表现形式:标准模式和怪异模式(quirks mode)。怪异模式通常模拟老式浏览器(比如IE6,在标准模式中 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    百度地图毕业设计源码-Front-End-interview-questions:整理收集常见前端面试问题及一些知识点

    标准模式(standards mode):浏览器根据W3C标准来渲染页面。 3.2 混杂模式 混杂模式(quirks mode):浏览器采用更加宽松的、向后兼容的方式来渲染页面。 混杂模式下,浏览器会模仿旧浏览器的行为,比如IE6,在此...

    javascript document.compatMode兼容性

    IE对盒模型的渲染在 Standards Mode和Quirks Mode是有很大差别的,在Standards Mode下对于盒模型的解释和其他的标准浏览器是一样,但在Quirks Mode模式下则有很大差别,而在不声明Doctype的情况下,IE默认又是Quirks...

    Python库 | zha-quirks-0.0.52.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:zha-quirks-0.0.52.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | zha_quirks-0.0.47-py3-none-any.whl

    python库。 资源全名:zha_quirks-0.0.47-py3-none-any.whl

Global site tag (gtag.js) - Google Analytics