当我添加<!doctype html>
时,它必须位于我的HTML顶部并采用该格式吗?
然而,在作业中,我需要使用而不是更改html代码,我只能添加css文件等。在这个html代码中,结构对于我所做的任何事情都是独一无二的。曾见过它看起来像这样:
<html>
<head>
</head>
<body>
<doctype html>
<link rel="stylesheet" ...>
<h1>...</h1>
...
</body>
</html>
我理解文档类型是什么和做什么,我总是把它们放在一边,但我想知道该代码是否有效,或者浏览器是否忽略了问题而只是渲染它。
答案 0 :(得分:1)
Html声明应该位于文件的顶部,因为它指向Web浏览器 我的HTML文档正在使用哪个版本。 HTML标签取决于Web浏览器和我们使用的HTML版本。
答案 1 :(得分:1)
DOCTYPE声明没有正确写入或在正确的位置有效informative but dated article。它实际上是HTML注释,而不是标记。
<DOCTYPE>
声明必须是您的第一件事 文档,在<html>
标记之前。
html标记上方的文件顶部应为<!DOCTYPE html>
。
至于如何处理,
现代浏览器有quirks-mode,他们试图解释不正确编写的HTML。我不确定每个浏览器如何处理该标记,但它肯定值得关注:
快速测试表明标签是以奇怪的方式处理的。它正在包装其他内容..那种?呃。奇怪:
答案 2 :(得分:1)
doctype字符串需要一开始就有效。它对浏览器的唯一效果会影响浏览器模式的选择,即“标准”,“几乎标准”或“怪癖”模式。如果开头没有doctype字符串,则会选择quirks mode。这对CSS的使用有很大的影响。所以如果这是一项任务,他们要么在你身上耍花招,要么就是不称职。
与规范所说的无关(这在SO的旧问题的答案中有所涉及)。如果您需要在问题中使用HTML,则代码在以下几个方面无效(缺少doctype字符串,缺少title
元素,无效<doctype html>
标记和link
元素放在body
内。然而,代码适用于“工作”的某些值,但是在怪癖模式中。
答案 3 :(得分:0)
HTML <!DOCTYPE>
声明
定义和用法
在<!DOCTYPE>
代码之前,<html>
声明必须是HTML文档中的第一件事。
<!DOCTYPE>
声明不是HTML标记;它是Web浏览器关于页面编写的HTML版本的指令。
在HTML 4.01中,<!DOCTYPE>
声明引用了DTD,因为HTML 4.01基于SGML。 DTD指定标记语言的规则,以便浏览器正确呈现内容。
HTML5不基于SGML,因此不需要引用DTD。
提示:始终将<!DOCTYPE>
声明添加到HTML文档中,以便浏览器知道所期望的文档类型。
来源: http://www.w3schools.com/tags/tag_doctype.asp
<强> W3C:强>
答案 4 :(得分:0)
该doctype声明无效,至少会导致某些浏览器进入奇怪的兼容模式。
W3c(在w3.org上),在一个名为html5/syntax.html的页面上,表示&#34; DOCTYPE 是必需的前导码&#34;我认为这意味着它是必需的,它必须首先出现。
它还说它必须按以下顺序组成:
<!DOCTYPE
的ASCII不区分大小写匹配。html
的ASCII不区分大小写匹配。>
(U + 003E)字符。