`
qbaty
  • 浏览: 96991 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Mozilla浏览器的怪异模式

阅读更多
杂项和样式(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的选择会相对复杂,附录的表很详尽

分享到:
评论

相关推荐

    css浏览器兼容大全

    - **怪异模式**:如果文档没有DOCTYPE或使用的是某些老式DTD,浏览器则进入怪异模式。 #### 二、Firefox与IE的margin问题 在Firefox中,当`div`的`margin-left`和`margin-right`设置为`auto`时,其表现是正常的...

    浏览器的兼容

    标准模式与怪异模式下的CSS处理差异显著,尤其是IE系列。正确声明DOCTYPE有助于确保网页在各浏览器中的表现一致性。 2. **Margin的处理**:Firefox对`margin-left`和`margin-right`设置为`auto`的元素会自动居中,...

    为什么使用DOCTYPE HTML

    例如,IE6及其更早版本会始终处于怪异模式,而其他如Mozilla、Safari和Opera则具备两种模式。 DOCTYPE HTML的简洁形式,如`<!DOCTYPE html>`,自HTML5引入以来,已经成为推荐的标准。这个声明告诉浏览器页面遵循的...

    IE FIREFOX兼容性测试

    4. **Doctype声明**:不正确的DOCTYPE会导致浏览器进入怪异模式,导致渲染差异。确保始终使用HTML5的DOCTYPE声明(`<!DOCTYPE html>`)以保证标准模式。 5. **文档模式与兼容视图**:IE提供了多种文档模式,如...

    Firefox IE兼容教程

    2. **盒模型差异**:IE使用的是"怪异盒模型",将边框和内填充包含在元素的总宽度和高度中,而Firefox和其他遵循W3C标准的浏览器使用"正常盒模型",边框和内填充是额外添加的。这会导致元素尺寸计算上的不一致,需要...

    IE与Firefox的CSS兼容大全 推荐

    文档还指出,ul标签在Mozilla浏览器中默认具有padding值,在IE中则只有margin值。因此,需要先定义ul{margin:0;padding:0;}来确保跨浏览器的一致性。 最后,文档中还涉及了float布局中的一些注意事项。例如,如果一...

    针对IE67FF的兼容CSS编码 免费下载

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">`,这将确保浏览器以“标准模式”而非“怪异模式”解析页面,从而减少布局上的意外差异...

    IE6_0、IE7_0 与FireFox CSS兼容的解决方法(网上收集)

    例如,在IE6_0和IE7_0中,缺少正确的DOCTYPE会导致浏览器进入“怪异模式”,从而影响布局和样式的表现。确保使用正确的DOCTYPE是实现跨浏览器兼容性的第一步。 #### 2. Margin属性的自动计算差异 在FireFox中,当`...

    IE与FF的兼容问题

    标准模式和怪异模式在某些CSS属性上的表现有所不同。例如,在IE中,如果不指定DOCTYPE或指定为HTML 4.01 Transitional,可能会出现一些布局上的问题。 2. **自动边距处理** 在Firefox中,当`div`元素的`margin-...

    javascript和css在IE和Firefox中的不同点

    JavaScript 和 CSS 在不同的浏览器上,特别是 Internet Explorer (IE) 和 Mozilla Firefox 之间存在一些差异,这些差异主要体现在解析规则、实现细节以及某些功能的支持上。理解这些差异对于编写跨浏览器兼容的代码...

Global site tag (gtag.js) - Google Analytics