第一种形式:-
<!DOCTYPE html>
<head>
<title>Untitled</title>
<meta charset="UTF-8"/>
<link rel="stylesheet" href="" type="text/css"/>
</head>
<body>
</body>
</html>
第二种形式:-
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="UTF-8"/>
<link rel="stylesheet" href="" type="text/css"/>
</head>
<body>
</body>
</html>
据我所知,包括<!DOCTYPE html>
(如果使用 HTML5)在 <html>
之前标签是强制性的,否则我可能会在我的网站中遇到行为问题。 (有人告诉我here)
在第一个中,没有 </html>
的开头。标签,但我已将其包含在第二个标签中。
我注意到一些网站使用其中一种肤色。可能是 <html>
或非<html>
!即使是 HTML 编辑器 Android 应用程序 (WebMaster) 也使用第一个(没有 <html>
)!
我不明白,是<!DOCTYPE html>
与 <html>
完全相同,刚刚附加 !DOCTYPE
,或者两者都不同!
那么,哪一个是正确的呢?为什么这个是正确的?
最佳答案
Doctype 是强制性的,并且与 html
开始标记完全不同。
(Doctype 中包含 html
,因为 XML 和 SGML doctype 必须指定根元素的标记名称,并且 HTML 5 Doctype 被设计为向后兼容所需的浏览器)。
html
、head
和 body
元素的开始和结束标记是可选的。
例如,HTML 规范对 the html
element 有这样的规定。 :
Tag omission in text/html:
- An html element's start tag can be omitted if the first thing inside the html element is not a comment.
- An html element's end tag can be omitted if the html element is not immediately followed by a comment.
您会发现 head
和 body
(以及其他一些元素)也有类似的规则。
对于每个版本的 HTML 都是如此(但对于不允许省略任何标记的 XHTML 则不然)。
如果您想在其上包含属性,则只需包含开始标记。一般来说,说明文档所用的语言是一件好事,因此最佳实践是使用带有 lang
属性的显式 html
开始标记。
关于html - 我是否需要始终指定 HTML5 中的开始 <html> 标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46057582/