HTML的Quirks模式

什么是Quirks模式

Quirks,翻译成中文就是‘怪癖’,也就是奇怪的意思,这个东西的由来要从上古时期说起了。。。当初web的世界只有两个巨人,一个是微软的IE,另一个是网景的Navigator。双方厮杀了好几年,谁都不让着谁。并且为了将各自的阵营与对方区别开,开始针对对方搞差异化,使得开发者不得不针对两种浏览器平台做两个网页。大地看到了这一切的不公,在混沌之中创造了w3c联盟,而w3c的使命就是摧毁IE和Navigator之间的壁垒,使得两个平台的代码可以通用。于是乎在w3c强大的淫威之下双方按照标准重铸了自己,而以前的各自的渲染模式则保留为quirks模式,用来兼容老式的网页了。一般现代浏览器都有3种渲染模式:quirks模式,差不多标准模式( almost standards mode),完全标准模式(full standards mode)。

如何开启传说中的Quirks模式

大家都知道一个html文件第一行都会有一个DOCTYPE标签,这个标签无外乎就几种:HTML4.01,HTML5,XHTML(注意,在DOCTYPE中注明XHTML并不会让浏览器以XHTML格式进行渲染,具体参见MDN的XHTML说明)。而开启Quirks模式很简单。。。。就是把DOCTYPE随便写。。写的浏览器根本认不出来这是什么玩意儿之后,你就成功开启了!

比如这样

<!DOCTYPE htmlxox>

或者这样

<! DOCTYPE =.= >

或者你直接不写都可以!

那么开启Quirks之后,我能得到哪些feature呢?

  • table标签除了font-family外,不会继承任何字体类css。
  • img标签float之后会自动有3px的mergin。
  • input和textarea标签的box-sizing属性默认为border-box。
  • form标签自带margin-bottom:1em属性。
  • class与id的值不区分大小写。
  • 当加载css文件的时候,只要link标签里type值设置为text/css,那不管服务器传来的* * * * Content-Type是什么,都会当作css处理。
  • css里的颜色值不以#开头。
  • css里的长度值如果没有单位,则默认为px。
  • style的属性允许被{}包裹
  • 当css中background值为空的时候,background url的值也被设置为空。
  • body标签接受topmargin,bottommargin,leftmargin,rightmargin作为css属性。

这里我就节选一点了,具体的可以参见MDN

原文地址:https://www.cnblogs.com/jlfw/p/12684386.html

时间: 2024-10-08 17:59:39

HTML的Quirks模式的相关文章

爱创课堂每日一题第二天8/24日 Quirks模式是什么?它和Standards模式有什么区别?

从IE6开始,引入了Standards模式,标准模式中,浏览器尝试给符合标准的文档在规范上的正确处理达到在指定浏览器中的程度. 在IE6之前CSS还不够成熟,所以IE5等之前的浏览器对CSS的支持很差, IE6将对CSS提供更好的支持,然而这时的问题就来了,因为有很多页面是基于旧的布局方式写的,而如果IE6 支持CSS则将令这些页面显示不正常,如何在即保证不破坏现有页面,又提供新的渲染机制呢? 在写程序时我们也会经常遇到这样的问题,如何保证原来的接口不变,又提供更强大的功能,尤其是新功能不兼容旧

如果浏览器自动调用quirks模式打开的话

(从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期 2014-03-21) 则肯定你的html的声明,没有写好. 今天遇到几个,前面莫名其妙的多了个空格(在网页上看源码是多空格,复制到netbeans中打开,显示的是一个小横线,很短的.) 此短线很短,像是个点,复制下来,在记事本和word中都无法粘贴显示的,但是在netbeans中显示是一个小横点.可能是格式问题. 再次修正:(2015.5.26抢救百度文章时添加) 不单是声明的问题,如果你的html代码中有不规范的地方,让ie误

Quirks模式&amp;Standards模式

从 IE6 开始,引入了 Standards 模式,标准模式中,浏览器尝试给符合标准的文档在规范上 的正确处理达到在指定浏览器中的程度. 在 IE6 之前 CSS 还不够成熟,所以 IE5 等之前的浏览器对 CSS 的支持很差, IE6 将对 CSS 提供更好的支持,然而这时的问题就来了,因为有很多页面是基于旧的布局方式写的,而如 果 IE6 支持 CSS 则将令这些页面显示不正常,如何在即保证不破坏现有页面,又提供新的 渲染机制呢? 在写程序时我们也会经常遇到这样的问题,如何保证原来的接口不变

IE 怪异模式(Quirks Mode)对 HTML 页面的影响

本文主要描述 Quirks Mode 和 Standards Mode 这两种文档模式渲染页面时的差异由来,并且给出一些详细的例子说明差异所在.通过阅读本文,Web 开发工程师可以对浏览器工作原理有更为深刻的理解,避免自己所开发的 Web 应用在不同的浏览器上产生不同的效果. Quirks Mode 概述 定义 什么是 Quirks Mode? 简单来说,Quirks Mode 就是浏览器为了兼容很早之前针对旧版本浏览器设计.并未严格遵循 W3C 标准的网页而产生的一种页面渲染模式. 历史 由渲

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

最近在修改网站的响应式的页面时,由于都是套样式页面,修改过程都是粘贴复制,导致了一些细节问题在IE8下暴露出来: 遇到的问题就是在在Chrome,火狐页面都正常,唯独在IE8下页面样式显示乱样了,但是本地就显示正常,Tomcat缓存也清楚了,再加上自己也是个小白,周末平静了一天半终于找到问题的源头了,其实解决办法也很简单,如图: 我最初是将小脚本写在<!DOCTYPE html>文档都上方的,但是在IE8浏览文本模式默认就编程了“Quirks”模式,显示不正常,后来改成了写在文档头下方就可以正

IE兼容性之杂项(Quirks)模式

此文转载,记录下遇到的问题,暂时没有仔细考究. IE=EmulateIE7 标签的作用 对于 Web 开发人员来说,文本兼容性是一个要考虑的重要问题.Windows Internet Explorer 8 引入了文本兼容性模式,该模式允许 Web 开发人员将浏览器设置为以与旧版本相同的方式显示网页,从而允许开发人员选择更新时间. 本文档将介绍由 Windows Internet Explorer 8 支持的文本兼容性模式,以及如何使用自定义标头基于每个页面或每个站点实现这些模式.实现适当的兼容性

怪异模式(Quirks Mode)对 HTML 页面的影响

Quirks Mode 概述 定义 什么是 Quirks Mode? 简单来说,Quirks Mode 就是浏览器为了兼容很早之前针对旧版本浏览器设计.并未严格遵循 W3C 标准的网页而产生的一种页面渲染模式. 历史 由渲染引擎产生的两种文档模式 谈到 Quirks modes 首先就要从浏览器渲染引擎说起.我们知道所有的浏览器都有自己的页面渲染引擎,渲染引擎主要包含两部分,一部分负责 HTML.CSS 代码的解析,另一部分负责脚本代码解析,这两部分合起来就可以绘制出完整的页面. 表 1 各浏览

IE浏览器兼容性模式

最近支持公司的一个内部业务管理系统,系统是基于jQuery来实现:用了2年的MVVM框架的我转向这个完全使用jQuery框架来开发的系统,真是相当不爽(相信用过MVVM框架的跟我是相同的感受):更为憋屈的是,到了这个年代,IE的亲爹微软都放弃支持IE6-10了,系统尽然还只支持使用IE浏览器(运营电脑安装都是IE8浏览器,所以大部分只管IE8),其他高级浏览器不被支持(当然这是由于系统使用了基于IE的一些插件导致). 但是话又说回来,但是在支持系统的开发过程中,经常看到X-UA-Compatib

文档模式与IE浏览器模式

一.IE浏览器的兼容性视图 兼容性视图是微软为了兼容基于其它网页标准开发的网站,确保广大互联网用户在浏览网页时不至于受困于网页显示混乱的问题,而专门为IE8增加的一项实用功能.当IE8检测到某网站不兼容时,地址栏右侧就会出现兼容性视图按钮,只需轻轻一点,大部分网页显示就会正常了.(网页会以IE7的代码规范来显示) 它引入重要的两个概念便是“浏览器模式”和“文档模式”: 注:也可按F12进入开发人员工具来查看当前页面的浏览器模式和文档模式 二.文档模式 指定IE页面排版引擎根据哪一个版本的方式来解