0

可能重复:
怎么了,Doctype?

在我的浏览器中,我查看了我已经制作的 html 页面的页面源代码,并注意到

<html>

是红色字体,表示有错误。

我在它之前添加了这个:

<!DOCTYPE html>

而且它现在似乎不是红色字体。

问题是......我的页面的外观现在与以前不同,当时我没有文档类型。

问题是,不声明 doctype 并仍然保留我页面的样式是否可以?

4

5 回答 5

3

不要编写有效的 HTML 以消除验证错误。编写有效的 HTML 以便将其一致地呈现给所有客户端。

如您所说,如果不指定指示用户代理如何解释以下代码的文档类型,则无法保留页面的样式。

话虽如此,您编写的标记可能比您上面引用的更符合另一种文档类型。

请参阅“选择文档类型”

于 2012-09-10T07:01:38.777 回答
1

在某些(实际上是相当多的)浏览器(例如 IE)中,如果您不输入 doctype( Quirks Mode - Wikipedia ) ,渲染将完全不同(请注意我的使用剧烈)。

在任何情况下,最好的办法是每次添加一个。获取 TextExpander 之类的内容,以便更轻松地输入。

就像每天早上记得刷牙一样,这是另一个应该成为强制性的习惯。

此外,请考虑每次都使用 HTML5 DocType(您使用的那个)。

于 2012-09-10T07:04:26.817 回答
1

标准规定所有文档都应该有一个文档类型定义——doctype(文档类型)声明。W3 定义了您可以使用的文档类型列表。

正如您所发现的,添加错误的文档类型会产生一些有趣的后果。因此,根据您的文档所遵循的内容提供正确的文档类型非常重要。

请参阅这篇出色的文章,其中详细介绍了这一点。

于 2012-09-10T07:07:58.703 回答
1

不要忘记添加文档类型

HTML 不仅仅是一种类型,实际上还有很多:HTML 4.01 Strict、HTML 4.01 Transitional、XHTML 1.0 Strict 等等。所有这些类型的 HTML 都在其各自的W3C 规范中定义,但它们也以机器可读的语言定义,指定一种 HTML 类型的合法结构、元素和属性。

这样的定义称为“文档类型定义”,或简称为 DTD。

为什么要指定文档类型?

因为它定义了您的文档实际使用的(X)HTML版本,这是处理文档的某些工具所需的关键信息。

例如,指定文档的 doctype 允许您使用诸如标记验证器之类的工具来检查(X)HTML的语法。如果这些工具不知道您使用的是哪种文档,它们将无法工作。

但最重要的是,对于大多数浏览器系列来说,一个 doctype 声明会使很多猜测变得不必要,从而触发“标准”渲染模式。

于 2012-09-10T07:10:10.570 回答
1

Doctype 定义了您的文档实际使用的 (X)HTML 版本,这是处理文档的某些工具所需的关键信息。

http://www.w3.org/QA/Tips/Doctype

阅读上面的链接后,您可以决定它是否可以。:)

于 2012-09-10T07:11:48.963 回答