应该和标签是否在不同的缩进级别?

时间:2015-04-27 15:46:02

标签: html tags indentation

我一直在想,但如果有任何关于缩进身体或头部标签的标准,我无法在任何地方找到答案。

此版本是否正确?

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

还是这个?

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

虽然我明白,就最终网站的功能而言,它可能没有丝毫差别,但我们都是人类,并且都充满了好奇心的礼物/负担。

是否有任何既定标准或无关紧要?

4 个答案:

答案 0 :(得分:10)

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>

答案 1 :(得分:4)

功能无关紧要,但出于清洁可读可管理代码的目的,您应该始终缩进子项。

答案 2 :(得分:0)

我想提出另一种风格。包含多行儿童的单行一般结构。这样的事情(准系统):

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

插入一些HTML:

<html><head>
    <style>
    </style>
</head><body>
    <div>
    </div>
</body></html>

在这种情况下,我们以自然的方式摆脱缩进级别(因为双缩进不会有意义)。它导致缩进其内容的headbody元素。

灵感来自编程中的常见模式,也许一个例子会有所帮助:

// Multiline function call (each argument on a line).
someFunction(
    'parameter 1',
    'parameter 2',
    ['item', 'more items', 'another item']
);

// Single line function call. Arguments may be multi-line, but
// the function call itself is styled as if it were single-line.
someFunction('parameter 1', 'parameter 2', [
    'item',
    'more items',
    'another item',
]);

答案 3 :(得分:0)

我教了一门网页设计入门课程,但要向学生解释为什么缩进很重要,尤其是对于 HTML 新手来说,这是一个很大的挑战。我经常向他们展示来自 wikipedia 的 DOM 图作为 HTML 页面的树结构示例。老实说,虽然完全知道它没有丝毫区别,但同时缩进 <head></head><body></body> 有助于更好地显示 HTML 树结构。正如上面有人所说,缩进可以使代码清晰易读,但不仅如此,<head><body> 都是 <html> 的子代,因此应该缩进以表明这一事实。