我一直想知道,但在任何地方都找不到答案,是否有关于缩进正文或头部标签的任何设定标准。
这个版本正确吗?
<html>
<head>
</head>
<body>
</body>
</html>
还是这个?
<html>
<head>
</head>
<body>
</body>
</html>
虽然我很欣赏它可能不会对最终网站的功能产生丝毫影响,但我们都是人类,并且都拥有好奇心的天赋/负担。
有没有既定标准,还是无所谓?
HTML 不关心缩进,它只需要适当的嵌套。它的解析方式是相同的(当然除了空白文本节点),这对于正确性来说并不重要。
虽然适当的缩进对于可读性确实很重要,但许多人选择不缩进
<html>
、<head>
和 <body>
标签,因为它们的结构很琐碎,并且只会不必要地向右移动整个文档。这些标签的内容应始终缩进以保持清晰的标记,以便读者清楚嵌套结构。
明确回答您的问题:
和<head>
标签是否应该与<body>
处于不同的缩进级别?<html>
没有必要这样做,因为每个人都知道它们嵌套在
<html>
中。如果你愿意的话你可以做到。两者
<html>
<head>
<title>…</title>
…
</head>
<body>
<div>
<div>…</div>
…
</div>
…
</body>
<html>
和
<html>
<head>
<title>…</title>
…
</head>
<body>
<div>
<div>…</div>
…
</div>
…
</body>
<html>
都可以,而以下则不行:
<html>
<head>
<title>…</title>
…
</head>
<body>
<div>
<div>…</div> <!-- which nesting level ??? -->
…
</div>
…
</body>
<html>
这在功能上并不重要,但为了干净、可读和可管理代码,您应该始终缩进子标签。
我教授网页设计入门课程,向学生解释为什么缩进很重要,尤其是对于刚接触 HTML 的人来说,这是一个很大的挑战。我经常向他们展示来自 W3schools 网站 的 DOM 图,作为 HTML 页面树结构的示例。老实说,尽管我很清楚这没有丝毫区别,但缩进
<head></head>
和 <body></body>
有助于更好地显示 HTML 树结构。正如上面有人所说,缩进可以使代码清晰易读,但不仅仅是,<head>
和<body>
都是<html>
的子级,因此应该缩进以表明这一事实。
多人提出以下建议:
您应该始终缩进子标签。
我不同意并认为这太纯粹了。没有人会拒绝以下内容,因为并非每个子标签都是缩进的:
<h2><i class="fa fa-icon"></i> Lorem Ipsum</h2>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua.
</p>
因此,为了寻找中间立场,我提出了更温和的观点。而不是这个:
<html>
<head>
</head>
<body>
<h1>That's 2 levels of indenting and we haven't even started yet.</h1>
</body>
</html>
或者这个(没有人知道为什么人们开始这样做):
<html>
<head>
</head>
<body>
</body>
</html>
我想提出另一种风格。三行通用结构:
<html><head> <!-- Start -->
<style>
</style>
</head><body> <!-- Separator between head and body -->
<div>
</div>
</body></html> <!-- End -->
在这种情况下,我们以自然的方式摆脱缩进级别(因为双缩进没有意义)。正是
head
和 body
元素导致其内容缩进。