Тег body в HTML: что это и для чего нужен

Тег <body> идёт сразу после закрывающего </head> - и это ровно то, что видит посетитель: текст, картинки, кнопки, формы. Если <head> - служебная часть документа, то <body> - вся его видимая содержательная часть. На странице может быть только один <body>, и всё, что должно отображаться, лежит внутри него.

HTML
<body>
  <h1>Заголовок страницы</h1>
  <p>Текст страницы.</p>
</body>

Отступ body по умолчанию

Браузер сам, без единой строчки CSS, добавляет тегу <body> небольшой отступ от края окна - обычно около 8px со всех сторон. Это часть встроенных стилей браузера (user agent stylesheet), а не ошибка вёрстки. Из-за него у многих новичков макет "не совпадает с дизайном" ровно на эти несколько пикселей, пока они не добавят сброс вручную.

Пример: отступ по умолчанию и его сброс

Нажмите на переключатель - серая рамка изображает окно браузера, цветной блок внутри - это <body>:

Результат
это <body>

Отступ 8px - браузер добавил его сам, CSS ещё не написан.

Как изменить body с помощью CSS

Сброс отступа - только один частный случай. На практике body - обычное место для базовых параметров всей страницы: фонового цвета, шрифта и цвета текста по умолчанию, минимальной высоты. Всё это задаётся обычным CSS-правилом для тега, отдельных атрибутов для этого не нужно:

CSS
body {
  margin: 0;
  font-family: system-ui, sans-serif;
  background: #ffffff;
  color: #222222;
  min-height: 100vh;
}

Атрибуты body: что использовать сейчас

Из старых HTML-атрибутов у body сегодня остались только два общих. Остальные были нужны до появления CSS и теперь считаются устаревшими - оставлены в таблице специально, чтобы было понятно, чем их заменить, если такое найдётся в старом коде.

АтрибутСтатусКомментарий
classактуаленОбычный класс для стилизации через CSS, как у любого другого тега
idактуаленУникальный идентификатор, если он нужен именно на body - например, для якоря или JS
bgcolorне используетсяЗамена - CSS background-color
textне используетсяЗамена - CSS color
link / vlink / alinkне используетсяЗамена - CSS a, a:visited, a:active
backgroundне используетсяЗамена - CSS background-image

Ошибки при использовании body

ОшибкаЧто происходитКак исправить
Не сброшен отступ браузера по умолчаниюПо краям страницы виден непонятный зазор в несколько пикселей, макет "не совпадает" с дизайномДобавить body { margin: 0; } в начало CSS (или использовать готовый CSS-reset)
На странице два тега <body>Браузер использует только первый, содержимое второго может потеряться или отобразиться непредсказуемоВ документе должен быть ровно один <body>
Видимый контент случайно оказался внутри <head>, а не <body>Невалидная разметка, поведение зависит от браузераПроверить, что весь видимый контент - строго внутри <body>
Категория
Поделиться в социальных сетях

Отправить комментарий

0 Комментарии

Отправить комментарий (0)

#buttons=(Хорошо) #days=(20)

Мы используем файлы cookie для улучшения работы сайта. Подробнее
Хорошо
×