2011-05-03 71 views
5

的实际使用虽然我已经经历了很多的信息,转眼就w3.org关于文档类型,并了解不同类型的文档类型(过渡,严格,框架集)的文档类型

我仍然不明确什么是实际使用在网页上使用Doctype?

我的意思是:

  • 它是防止在代码中使用某些标签从 开发商(如 通过使用严格的,我们使用某些 过时的标签,如字体,中心限制 开发商, 等)

  • 是它给一些信息到浏览器 如果是,它在任何影响
    渲染办法?

请帮助我一样。谢谢。

回答

6

这是告诉浏览器它应该如何解释页面中的代码。

(如果你使用它作为一个工具来控制开发者,你有一个管理的问题...)

文档类型不影响渲染,有什么标签是有效的,哪些属性他们可以有,以及如何你可以在客户端脚本中使用它们。过渡式文档比严格更宽容,但HTML版本也影响有效。

最大的区别在于有一个doctype标签而没有一个,特别是在Internet Explorer中。如果没有文档类型标签,它会以怪癖模式渲染页面,其中包括使用non-standard box model,这可能会使您的布局完全混乱。

+0

从一个浏览器来看,唯一的区别是怪癖/几乎标准/标准模式。 – gsnedders 2012-02-26 12:13:03

+0

@gsnedders:是的,其影响是我在答案中提到的所有内容,甚至可能还有一些。 – Guffa 2012-02-26 12:44:30

+0

在除IE6-9之外的所有浏览器中(IE10匹配其他所有浏览器),它对允许使用哪些标记以及它们可以具有哪些属性没有影响 - 没有人尝试任何形式的验证。 (IE6-9是不同的,因为他们只是逐字地使用IE5.5引擎,所以最近没有像canvas那样存在。) – gsnedders 2012-02-26 18:33:16

1
  1. 是的,如果你使用严格的再使用过时的标签,页面上会不会当您通过W3C验证

  2. 是运行验证它,它会影响渲染。

没有的DocType,浏览器将使用怪癖模式,这是说,某些标记将呈现不同的浏览器渲染你的页面。其中一些标签现已被弃用,其他标签已被标准化。

DocType(过渡性的& strict)用于告诉浏览器您遵循HTML标准并按照标准W3C规范呈现标记。

1

Doctype将影响浏览器如何解析您的代码。由于大多数浏览器在解析HTML时相当宽松,所以这些变化并不像人们所期望的那么大。

请注意,HTML5有一个相当明确的解析算法,甚至可以定义如何解释格式不正确的HTML。在启用HTML5的浏览器上,当存在HTML5 doctype时,将使用此算法。

+1

在支持HTML5的浏览器上,该算法适用于所有,任何类型的文档,而不仅仅是HTML5文档类型。 – Alohci 2011-05-03 08:13:19

+0

@Alohci:我有不同的听法('虽然我现在找不到资料来源)。你有这个声明的来源吗? – 2011-05-03 08:18:12

+0

最好的来源是规格本身。如果你从http://dev.w3.org/html5/spec/tokenization.html#doctype-state看它,很明显它正在处理各种doctypes。 – Alohci 2011-05-03 08:33:39

1

doctype确实会影响渲染,哪些标记是有效的,它们可以具有哪些属性以及如何在客户端脚本中使用它们。过渡式文档比严格更宽容,但HTML版本也影响有效。

最大的区别在于有一个doctype标签而没有一个,特别是在Internet Explorer中。如果没有文档类型标签,它会以怪癖模式呈现页面,其中包括使用非标准框模型,这可能会使布局完全混乱。

您可以访问http://www.teachw3.com/html_tutorial/html_home.php