我最近一直在学习文档类型,我想知道<!DOCTYPE html>
和其他一些文档类型的区别是什么。
我知道<!DOCTYPE html>
是HTML5文档类型,它是实验性的,但我想知道如果我使用它而不是其他文档类型会发生什么?
提前感谢!
发布于 2009-10-15 05:39:28
基本上,您将在“标准模式”中呈现页面。
不应该使用新的DOCTYPE的唯一原因是,如果希望使用XHTML1.0标记并符合XHTML1.0。
现在使用HTML5的缺点是规范可能会改变。这使得在规范发生变化时跟上规范的变化非常重要。
话虽如此,我已经开始在我的页面中使用新的语法。此外,它还保证您的页面将。
因此,请继续使用它(,并学会爱上它是多么简单的)。
发布于 2009-10-15 14:16:47
卢卡斯抓住了最重要的方面。让我用一种稍微不同的方式来解释一下:
在浏览器中,doctype只有一个作用,那就是设置渲染模式:怪癖、近乎标准和完全标准模式。这曾经很简单,直到MSIE8引入了第二个开关,“兼容模式”= MSIE7错误和限制被故意保留。
HTML5文档类型(通常)会覆盖该设置,因此比XHTML1.x或HTML4.01文档类型更强大。(不过,MSIE有时可能会覆盖它。)
文档类型切换和布局模式的权威指南位于:http://hsivonen.iki.fi/doctype/
将发生的第二件事是根据HTML5规则对页面进行验证。HTML4中允许的一些元素和属性消失了,出现了一堆新的元素和属性。
编辑:删除示例。混合过去被称为内联和块元素的东西现在是可以的。(在最初的提案中并非如此)。
HTML5的语义和语法与HTML4中的很相似,所以大多数编写良好的HTML4站点将继续验证。主要的区别是,你必须开始使用新的东西,并且仍然有效。
发布于 2010-06-08 22:43:52
HTML5文档类型不是实验性的。Ian Hickson测试了一系列浏览器,发现<!DOCTYPE html>
在这些浏览器中的工作方式与HTML4和XHTML1文档类型相同(即它触发了标准模式)。
但是,如果您使用它,那么验证器将(默认情况下)验证您的页面,就像它是HTML5一样,如果您实际正在编写HTML4,这可能不是您想要的。(例如,some elements are getting dropped in HTML5。如果您将页面验证为HTML5,则使用它们将显示为错误。)
https://stackoverflow.com/questions/1570418
复制相似问题