Должны ли теги <head> и <body> иметь отступ на уровне, отличном от <html>?

Я всегда задавался вопросом, но не могу найти ответ где-нибудь, есть ли какие-либо установленные стандарты относительно отступа от тега body или head.

Эта версия верна?

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

Или этот?

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

Хотя я ценю то, что это, вероятно, не имеет ни малейшего значения в том, что касается функциональности конечного веб-сайта, мы все люди, и все наделены даром / бременем любопытства.

Есть ли установленные стандарты или это не имеет значения?

4 ответа

Решение

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. Я часто показываю им DOM-диаграмму с веб-сайта W3schools в качестве примера древовидной структуры, которая представляет собой HTML-страницу. По моему честному мнению, хотя я прекрасно знаю, что это ни в малейшей степени не имеет значения, отступы для и помогают лучше показать древовидную структуру HTML. Как кто-то сказал выше, отступы делают код понятным для чтения, но не просто, и оба являются дочерними элементами, и поэтому должны иметь отступ, чтобы показать этот факт.

Я хотел бы предложить другой стиль. Общая структура, состоящая из одной строки, которая содержит многострочные дочерние элементы. Как то так (barebone):

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

Вставьте немного HTML:

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

В этом случае мы избавляемся от уровня отступа естественным образом (потому что двойной отступ не имеет смысла). Это head а также body элементы, которые вызывают отступ его содержания.

Вдохновение пришло из общих шаблонов в программировании, возможно, пример поможет:

// 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',
]);
Другие вопросы по тегам