可能重复:
What's up, Doctype?
HTML: What is the functionality of !DOCTYPE
好吧,当我第一次学习HTML时,我基本上都是从试验和错误中学习,并且在我记忆中并没有真正坐下来正确地学习它。因此,我错过了很多,因此,我决定从基础开始,为了自己的利益。 :)所以我在这里,(重新)学习HTML。
现在,我的问题 - <!DOCTYPE>
标记比我遇到的任何其他HTML标记更让我困惑,所以我来这里是为了澄清我对它的任何问题,以便我可以使用它信心十足地。 :)
首先,有人可以向我解释为什么有必要在您的网页中使用<!DOCTYPE>
标记吗?没有他们,他们工作得很好,不是吗?我已经读到它可以根据W3C的标准进行验证,但这就是我所知道的。更多细节将不胜感激。 :)
其次,在阅读完之后,我仍然对我<!DOCTYPE>
中究竟发生了什么以及如何输入它感到困惑。例如,这是我见过的一种DOCTYPE:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
然而,我还看到了其他的变化,从我读过的内容中,有不同的DOCTYPES需要验证 - 这一切都非常令人困惑,如果我打算使用它,我应该在我的网页中使用吗? / p>
答案 0 :(得分:3)
W3C对http://www.w3.org/QA/Tips/Doctype
的答案非常好为什么?
为什么要指定doctype?因为它定义了哪个版本的(X)HTML 您的文档实际上正在使用,这是一个关键的部分 处理文档的某些工具所需的信息。
例如,指定文档的doctype允许您使用 诸如Markup Validator之类的工具来检查你的语法 (X)HTML。如果他们不知道什么,这些工具将无法工作 你正在使用的那种文件。
但最重要的是,对于大多数浏览器系列,a doctype声明会使很多猜测变得不必要,并且会 从而触发“标准”渲染模式。
基本上,如果您将其删除,浏览器将尝试猜测要使用的渲染模式,这可能会导致一些意外结果。
答案 1 :(得分:2)
它基本上告诉浏览器如何解释您发送它的页面。如果你不发送任何东西,它必须猜测。某些构造在格式中有效,而在其他格式中无效等。某些浏览器可能会正确显示您的页面而其他浏览器则不会。所以是的,请选择并发送DOCTYPE。
您可以使用多种文档类型,xhtml,html strict,html transitional,4.01等。您可以在此处查看有效类型列表... http://www.w3.org/QA/2002/04/valid-dtd-list.html
答案 2 :(得分:0)
声明是指文档类型定义(DTD)。 DTD指定标记语言的规则,以便浏览器正确呈现内容。
展望未来,为了符合html5标准,正确的标签就是:
<!DOCTYPE html>
答案 3 :(得分:-1)
您可以设置一个doctype来说明您的浏览器,或者您要做的事情。它看起来就像你用名片做的那样
有几种doctype。最有用的doctype是过渡性的:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/ xhtml1-transitional.dtd">
更严格的doctype是:(参见“严格”)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd” &GT;
您也可以为框架集指定一个特定的doctype声明。但这已经过时了,框架集对我来说是不必要的,但我会告诉你这个文档类型。但是忘了框架集这是一个没用的html元素,因为html5。在这里,您可以看到以下框架集doctype:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd” &GT;
最后。你可以为你的doctypes找一个语言attribuut。这可以通过html和xhtml来实现。
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">