<head> 和 <body> 标签是否应该与 <html> 处于不同的缩进级别?

问题描述 投票:0回答:4

我一直想知道,但在任何地方都找不到答案,是否有关于缩进正文或头部标签的任何设定标准。

这个版本正确吗?

<html>
<head>
</head>
<body>
</body>
</html>

还是这个?

<html>
    <head>
    </head>
    <body>
    </body>
</html>

虽然我很欣赏它可能不会对最终网站的功能产生丝毫影响,但我们都是人类,并且都拥有好奇心的天赋/负担。

有没有既定标准,还是无所谓?

html tags indentation
4个回答
20
投票

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>

11
投票

这在功能上并不重要,但为了干净可读可管理代码,您应该始终缩进子标签。


0
投票

我教授网页设计入门课程,向学生解释为什么缩进很重要,尤其是对于刚接触 HTML 的人来说,这是一个很大的挑战。我经常向他们展示来自 W3schools 网站 的 DOM 图,作为 HTML 页面树结构的示例。老实说,尽管我很清楚这没有丝毫区别,但缩进

<head></head>
<body></body>
有助于更好地显示 HTML 树结构。正如上面有人所说,缩进可以使代码清晰易读,但不仅仅是,
<head>
<body>
都是
<html>
的子级,因此应该缩进以表明这一事实。


-4
投票

多人提出以下建议:

您应该始终缩进子标签。

我不同意并认为这太纯粹了。没有人会拒绝以下内容,因为并非每个子标签都是缩进的:

<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
元素导致其内容缩进。

© www.soinside.com 2019 - 2024. All rights reserved.