在构建HTML网页时,“怪癖”模式和“符合标准”模式有什么区别?

如何区分以一种模式与另一种模式进行操作?为什么人们(即网站管理员,网站设计师和开发人员)关心选择标准合规性模式而不是怪癖模式?

怪异模式在开发新内容时是否合理?

#1 楼

这可能是我发现的有关怪癖模式的最佳文章。我个人尝试尽可能地始终使用标准模式,因为它具有与大多数浏览器一起使用的最佳机会。

#2 楼

如果您以怪癖模式进行开发,则实际上是在要求浏览器模拟IE6之前的错误。这真的是您想做的事情吗?

Wikipedia解释了触发怪癖模式的基础知识,但是有许多特殊情况并未涉及。 txwikinger提供的链接很好地解释了历史和主要差异。

Jukka Korpela更详细地解释了差异以及如何检查兼容性模式:


检查模式要检查浏览器所处的模式
(古怪与标准),

在Firefox上,使用命令查看/页面信息(和请参阅“常规
”窗格);或者如果您具有Web Developer
Extension,只需检查其
工具栏中的图标(右侧第三个图标)。

对于IE,键入javascript:alert(document.compatMode )
,然后检查弹出窗口是否显示CSS1Compat
(指示标准模式)或
BackCompat(指示怪异模式);
下载并安装
简单的Quirks或Standards模式
书签。


值得注意的是,许多浏览器除了quirks模式外,还有两种模式-几乎是标准模式和标准模式。不幸的是,IE6和IE7仅在几乎标准模式下运行,因此,如果您需要支持这些浏览器,很容易尝试在所有浏览器中使用几乎标准模式。但是,最好遵循这些标准进行开发,然后尝试解决浏览器的怪癖。 HTML5仅提供严格模式,因此您真的应该尝试针对此模式进行开发,以实现将来的兼容性。

#3 楼

正如@txwikinger所说,在这里可以看到quirksmode。

唯一需要帮助的附加信息是有关如何在特定页面上检测浏览器使用哪种模式的本文:检测兼容模式。还有一些浏览器扩展可以做到这一点,例如Web Developer Toolbar。 FF和Chrome有一个版本。

#4 楼

我发现,如果您使用CSS重置或框架,而不包含将受影响的浏览器(通常是IE7和IE8)切换到标准模式的文档类型,则很多位置信息都会出错。几乎总是最好设置doctype声明并使用“标准模式”。

#5 楼

在怪癖模式下,浏览器无法按照HTML规范显示页面。有一次,Web浏览器获得了本质上的转换-在页面顶部包含doctype。如果没有该doctype,浏览器将进入怪癖模式。有效的doctype的存在会迫使浏览器进入标准模式,即“正确”模式。

最好使用标准模式-因此,请使用doctype! -继续前进,因为这可以确保您的页面在尽可能多的浏览器中正常且一​​致地工作。

#6 楼

Quirks Mode使IE 6和7呈现的CSS与标准规定的不一样。

Standards模式使IE 6和7呈现CSS的特性比Quirks Mode更接近标准,从而更加接近Firefox, Safari,Chrome,Opera和IE 8/9渲染它。

使用标准模式意味着,当您尝试使页面页面变得怪异时,您可以省去很多奇怪的旧IE问题。这意味着您可以使用诸如Eric Meyer撰写的CSS:The Definitive Guide之类的书来查找页面应执行的操作。 IE的Quirks模式没有同样全面的文档。

#7 楼

您可以在以下选项之间进行选择:


IE5引擎(或其错误模拟)
更现代的东西(非IE中的最大努力,IE8中的长篇故事……)

如果您想像1999年那样编写CSS,而没有正确地居中工作,请使用怪癖。