如果我使用HTML 5的doctype,会发生什么?

时间:2009-10-15 05:17:05

标签: html html5 doctype

我最近一直在学习doctypes,我想知道<!DOCTYPE html>和其他一些人之间的区别是什么。

我知道<!DOCTYPE html>是HTML5 doctype并且它是实验性的,但我想知道如果我使用它而不是其他doctypes会发生什么?

提前致谢!!!!

4 个答案:

答案 0 :(得分:11)

基本上会发生的是,您将以“标准模式”呈现您的页面。

您可能不应该使用新DOCTYPE的唯一原因是您希望使用XHTML 1.0标记并符合XHTML 1.0。

现在使用HTML5的缺点是规范可能会发生变化。这使得在主动更改时跟上规范非常重要。

话虽如此,我已经开始在我的页面中使用新语法了。此外,它还可以保证您的网页 last for a very, very, long time

所以继续,使用它(并学会爱它是多么简单)。

答案 1 :(得分:3)

卢卡斯确定了最重要的方面。让我以稍微不同的方式解释一下:

在浏览器中,doctype只提供一个目的,用于设置渲染模式:Quirks,几乎标准和完全标准模式。这曾经很简单,直到MSIE 8引入了第二个开关,“兼容模式”= MSIE7错误和限制被故意保留。

HTML5 doctype将(通常)覆盖该设置,因此比XHTML 1.x或HTML 4.01 doctypes更强大。 (但有时MSIE可能会覆盖它。)

doctype切换和布局模式的权威指南位于:http://hsivonen.iki.fi/doctype/

将要发生的第二件事是您根据HTML5规则验证您的页面。 HTML 4中允许的一些元素和属性已经消失,并且已经出现了许多新元素和属性。

编辑:删除示例。混合以前称为内联元素和块元素的内容现在可以。(在原始提案中它不是。)

HTML5的语义和语法大致类似于HTML 4中的语义和语法,因此大多数编写良好的HTML 4站点都将继续验证。主要区别在于您开始使用新内容并且仍然有效。

答案 2 :(得分:3)

HTML5 doctype不是实验性的。 Ian Hickson对一堆浏览器进行了测试,结果发现<!DOCTYPE html>与HTML 4和XHTML 1文档类型相同(即它触发了标准模式)。

但是,如果您使用它,那么验证器将(默认情况下)验证您的页面,就像它是HTML5一样,如果您实际编写HTML 4,则可能不是您想要的。(例如,some elements are getting dropped in HTML5如果您将页面验证为HTML5,则使用它们会显示为错误。)

答案 3 :(得分:0)

没有任何违法行为
<div>
    <p>foo</p>
    <span>bar</span>
</div>

(术语'块级'和'内联'元素在HTML5中已过时。)