在很多关于设计的文章中,提到了怪癖模式。 有人在纯文本和开发前景中对这个事情有所了解吗?
答案 0 :(得分:31)
你可以阅读这个链接 :
http://en.wikipedia.org/wiki/Quirks_mode
http://www.quirksmode.org/css/quirksmode.html
http://www.cs.tut.fi/~jkorpela/quirks-mode.html
现代浏览器通常会尝试 根据提供HTML内容 W3C建议。但是,要 提供与旧网络的兼容性 页面,并提供额外的 所有“直观”功能 浏览器支持替代方案 “怪癖模式”。
然而,Quirks模式不是 标准。任何页面的渲染 不同浏览器中的怪癖模式可能 与众不同。只要有可能,它就是 更好地遵守W3C标准 并尽量避免依赖任何 过去或现在的浏览器怪癖。
通常,打开怪癖模式 当没有正确的DOCTYPE时 声明,并在那里关闭 是DOCTYPE定义。然而, 无效的HTML - 相对于 选择DOCTYPE - 也可以导致 浏览器切换到怪癖模式。
有关不同的更多信息 不同浏览器中的怪癖模式可以 可以在QuirksMode.org
找到
答案 1 :(得分:9)
Quirks模式意味着您的页面在没有声明文档类型的情况下运行,文档类型在页面的最顶部定义,它表示浏览器应该如何读取HTML。这是StackOverflows doctype:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
w3.org指定Web标准和文档类型,因为Stack Overflow使用此doctype,它必须遵守该doctype的specification。
这是HTML 4.01 Strict DTD,它 排除演示属性 和W3C期望逐步实现的元素 作为样式表的支持 日趋成熟。作者应该使用Strict 尽可能使用DTD,但可以使用 支持时的过渡DTD 表示属性和元素是 必需的。
答案 2 :(得分:5)
在过去几天,当Web浏览器没有完整/正确的CSS实现时,开发人员依靠这些特性来使他们的页面正确呈现。然而,随着浏览器变得更符合标准,这些页面不再正确呈现,因为它们是基于不同类型的CSS编写的。这就是quirks模式的用武之地,因为它处理为这些破碎的CSS实现编写的页面。
所以在2009年,你不需要担心怪癖模式,除非你正在处理较旧的CSS或较旧的浏览器。只需将CSS编写为当前的Web标准,就可以了。
答案 3 :(得分:5)
Quirks模式也称为兼容模式 - 意味着您的页面在没有声明文档类型的情况下运行(这是旧学校,因此很可能不再需要) 怪癖模式的全部意义在于它是IE5的兼容模式。这意味着除了更改布局模式之外,它还会关闭自IE5以来发明的大多数浏览器功能。 在怪癖模式中,Web浏览器尝试基于“最佳猜测”来渲染/生成代码,这包括对可能是非标准或不良格式的代码的慷慨解释。 如果您没有声明doctype,浏览器将不得不猜测您正在运行的HTML / CSS版本 Quirks模式使旧的HTML文档仍然有效 它是Web浏览器用来保持与旧网页向后兼容的技术。
如果你写了一个正确的doctype,那将触发标准模式而不是Quirks模式 Netscape 4等旧版浏览器永久锁定在怪癖模式
Quirks模式使您的浏览器可以像旧浏览器一样运行
这是一种浏览器不遵守法律的模式。它在此模式下接受任何格式错误的标记,并且对语法,标记和元素不严格 基本上意味着它即使没有正确编写也会接受你的代码
在怪癖模式下,浏览器的行为与网络早期的行为一样。这样做是为了防止旧网站在新浏览器中破坏太多。
在所有浏览器中编写看起来相同的页面存在困难。事实上,这是不可能的。许多浏览器都是用只有它们才能处理的特殊功能编写的。或者他们有特殊的处理方式,与其他浏览器处理它们的方式不同 使用非标准将导致每个浏览器以怪癖模式运行。但并非所有浏览器在怪异模式下都表现相同,每个浏览器都会恢复其自己独特的渲染引擎,这就是为什么在不同的浏览器中使页面看起来很相似的原因。
你所有的html5 css也无法正常工作,因为它不兼容
Quirks模式支持IE6的JavaScript功能,类似于IE5的行为和IE6,IE7和IE8的Quirks模式行为。
在怪癖模式下,document.body(body-element)是根元素,在标准模式下,它是html-element(document.documentElement)。 怪癖模式适用于浏览器的旧规则,它们使得在万维网发布之前和HTML5发明之前编写的旧网站不会中断。所以quirks模式只是为了支持那些CSS功能不正确的网站。所以现在开发者可以选择。对于旧浏览器和网站,请使用标准(今天的浏览器)或怪癖模式。在怪癖模式下,我们今天拥有的许多CSS / HTML功能都无法正常工作。
答案 4 :(得分:2)
http://www.motive.co.nz/glossary/quirks-mode.php
答案 5 :(得分:-1)
几乎总是信任我测试过的答案,而不是特别是从不必要的人那里得到的投票。
除了其他答案外,还可以通过以下方式检查模式:
javascript:window.alert('You are in ' + (document.compatMode==='CSS1Compat'?'Standards':'Quirks') + ' mode.')