论坛首页 Web前端技术论坛

Mozilla浏览器的怪异模式

浏览 3972 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-07-09   最后修改:2010-07-09
杂项和样式(Miscellaneous & Style)



    * 所有的样式规则都在layout/style/quirk.css

    * 在怪异模式中,CSS类名是不区分大小写的(case insensitive),而在标准模式中是大小写敏感的(case sensitive)。

    * 当链接进文档的样式表的MINE type是 text/css时候,即便是服务端给出的Content- Type头不是text/css,它也将被当作CSS文件对待。

    * CSS解析器接受颜色值不以#号开头。

    * CSS解析器将把没有单位的数学默认为其单位为 px(但除了字号(font-size)因为Netscape Navigator 4以前就是这样解析的)和行高(line-height)和任意有严格意义的属性。

    * HTML的颜色解析的不同(#号不是必须的,缺少的颜色数值将被填充为不同数值)取决于Gecko 1.9.2。

    * 背景属性(background属性)为一个空的字符串会把背景的URL设为空,只在怪异模式下生效。

    * 系统字体在navquirks mode工作不一样。

    * HTML(1-7)和CSS(xx-small - xx-large)字体大小计算有轻微的不同(参见bug18136)。

    * 在怪异模式下 List bullets 不会继承 List 的字体大小。

    * :hover 伪类,只作用于链接,图片,和表单控件,除非 CSS选择器 包含标签名字,id 或 属性。

    * 为检测到支持 document.all




块和行内布局(Block and Inline layout)




    * [这个怪异出现在近似标准模式](line height)线高度不是line-height(行高)计算不同参见(bug 5821)和(bug24186)还有一些描述在(bug22274)

    * 存在一系列的怪异在计算图片、表格、对象(object) 和 applets的百分比高度上。尽管CSS描述百分比高度应该表现为height:auto;当其父元素不具有一个固定高度。参见(bug33443#9)和(bug41656).一些这样的怪异可能有其他的影响参见(bug54119)

    * HR 元素在浏览器中怪异模式和标准模式处理不同(而且两者都可以说是错误的)。



表格(Tables)



    * 在怪异模式下,middle 和 adsmiddle 可以是表格单元格 align 属性的值。而且表格支持middle,absmiddle,abscenter这些属性值(和center一样)

    * 当文档定义了背景后(图片或是颜色),TD, TH, TR, THEAD, TBODY, and TFOOT 这些元素会具有文档的背景

    * 根据CSS 2.1勘误表,empty-cells 属性在怪异模式下属性是hide ,在严格模式下是show

    * 在怪异模式下,浮动的table元素永远不会被挤到下一行去,如果不是正好处在靠着其他浮动元素同一行的位置时,他将会把页面扩宽

    * 在怪异模式中,HTML4 是 故意不去理会 colspan="0" and rowspan="0" 这些属性。

    * 仅在怪异模式中 hspace & vspace 是被支持的

    * 在怪异模式中,当table元素的边框样式为 inset 或者是 outset,这个边框的颜色是取决于table背景色或是最近的背景不为透明的上级元素

    * 在怪异模式中,有border属性的 表格单元格有一像素的最小值。

    * 从Gecko 1.8 开始:在怪异模式下,表格单元格上一个固定的宽度声明重设了nowrap这个属性。如果 nowrap 属性已经存在,那么单元格的宽带将不会小于声明的宽度。

    * 在怪异模式中,基本的表格布局(table layout)将忽视padding

    * 在怪异模式中,在一些情况下表格布局(table layout)处理宽度不一样。



表单(Forms)



    * 按钮(button)和input计算他们的大小不一样。

    * 在标准模式下,按钮(button)元素只在它缺少type属性的时候可以提交。

    * 文本输入inputs(和其他包含文字的表单控件)计算他们的大小不一样。

    * button 和 input 、select元素的字体计算不一样。

    * HTML要求button元素在单选组里总是被选择的,但在怪异模式里不是强制的。



对应到窗口的框架(Frames)



    * 在怪异模式中,frame上的 marginwidth和marginheight 会被传到其包含的body元素上

    * 在框架上声明 0* 会被认为 1*(参见bug40383)

    * 框架上的scrolling 属性处理不同



HTML解析器(HTML Parser)



    * 在怪异模式中,我们解析HTML 注释和老的浏览器兼容,而不是把"--"当成注释的开始和结束 [这个怪异已经在标准模式中修正。]




翻译自mozilla的文章 《Mozilla Quirks Mode Behavior》https://developer.mozilla.org/en/Mozilla_Quirks_Mode_Behavior

关于浏览器模式的选择的可以参见秦歌的文章《用doctype 激活浏览器模式》http://dancewithnet.com/2009/06/14/activating-browser-modes-with-doctype/ 这篇文章详细的解释了,不同浏览器根据不同DTD声明如何来选择解析模式

IE8和IE9的选择会相对复杂,附录的表很详尽

   发表时间:2010-07-11  
从来不用怪癖模式
0 请登录后投票
   发表时间:2010-07-16  
FireFox里的边框是外边框。边框只是元素的样式,不应该影响布局,FireFox弄的非常恶心
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics