Открыть сервис

Блочный элемент

Блочный элемент — это элемент разметки веб-страницы (HTML), который по умолчанию занимает всю доступную ширину родительского контейнера и начинается с новой строки. В отличие от строчных элементов, блочные элементы могут содержать другие блочные и строчные элементы, а также задавать собственные размеры (ширину и высоту), отступы и поля. Блочные элементы являются основой для построения структуры веб-страницы, определяя её логические разделы и блоки контента.

История

Понятие блочного элемента возникло с появлением языка разметки HTML (HyperText Markup Language) в начале 1990-х годов. Первые версии HTML (до 4.0) не имели строгого разделения на блочные и строчные элементы; браузеры интерпретировали разметку эмпирически. Однако уже в HTML 2.0 (1995) были определены такие блочные элементы, как <p> (абзац), <h1><h6> (заголовки), <ul> (неупорядоченный список) и <div> (универсальный блок). Окончательное разделение на блочные и строчные элементы закрепилось в спецификации HTML 4.01 (1999) и впоследствии в HTML5 (2014). С развитием CSS (Cascading Style Sheets) блочное поведение элементов стало управляемым: свойство display позволяет изменять тип отображения (например, display: inline превращает блочный элемент в строчный, а display: block — наоборот).

Характеристики

Блочные элементы обладают рядом ключевых свойств, отличающих их от строчных:

  • Занимают всю ширину родителя: по умолчанию ширина блочного элемента равна 100% от ширины содержащего его контейнера.
  • Начинаются с новой строки: каждый блочный элемент размещается на отдельной строке, не допуская размещения рядом с другими элементами на той же строке (без использования CSS).
  • Могут содержать другие элементы: блочные элементы могут включать как другие блочные, так и строчные элементы, а также текст.
  • Поддерживают размеры: можно задавать ширину (width), высоту (height), внутренние отступы (padding), внешние поля (margin) и границы (border).
  • Поддерживают вертикальное выравнивание: блочные элементы могут выравниваться по вертикали внутри родительского контейнера (например, с помощью vertical-align или Flexbox/Grid).

Классификация

В HTML5 блочные элементы делятся на несколько категорий в зависимости от их семантического назначения:

Структурные элементы

  • <div> — универсальный контейнер без семантической нагрузки, используется для группировки элементов и стилизации.
  • <section> — раздел документа, обычно с заголовком.
  • <article> — независимая, самодостаточная часть контента (например, новость, статья, пост).
  • <nav> — навигационный блок со ссылками.
  • <aside> — боковая панель или дополнительный контент, связанный с основным.
  • <header> — вводная часть раздела или страницы (заголовок, логотип, навигация).
  • <footer> — нижняя часть раздела или страницы (авторские права, контакты).

Текстовые элементы

  • <p> — абзац текста.
  • <h1><h6> — заголовки шести уровней.
  • <blockquote> — длинная цитата.
  • <pre> — предварительно отформатированный текст (сохраняет пробелы и переносы строк).
  • <address> — контактная информация.

Списки

  • <ul> — неупорядоченный (маркированный) список.
  • <ol> — упорядоченный (нумерованный) список.
  • <li> — элемент списка (может быть как блочным, так и строчным в зависимости от контекста; в HTML5 по умолчанию блочный).
  • <dl> — список определений.
  • <dt> — термин в списке определений.
  • <dd> — определение термина.

Медиа и встраиваемые элементы

  • <figure> — иллюстрация, диаграмма, фото с подписью.
  • <figcaption> — подпись к элементу <figure>.
  • <video> — видео-контент (в HTML5 может быть как блочным, так и строчным, но чаще используется как блочный).
  • <audio> — аудио-контент (аналогично).

Формы

  • <form> — контейнер для элементов формы.
  • <fieldset> — группировка полей формы.
  • <legend> — заголовок для <fieldset>.

Другие

  • <hr> — горизонтальная линия (разделитель).
  • <table> — таблица (в HTML5 считается блочным элементом, хотя её поведение может отличаться).
  • <canvas> — область для рисования с помощью JavaScript.
  • <details> — раскрывающийся блок с дополнительной информацией.
  • <summary> — видимый заголовок для <details>.

Поведение в CSS

Свойство display в CSS позволяет изменять тип отображения элемента. Основные значения, связанные с блочными элементами:

  • block — элемент отображается как блочный (занимает всю ширину, начинается с новой строки).
  • inline-block — элемент отображается как строчный, но сохраняет свойства блочного (может иметь размеры, отступы, поля). Пример: <img> (по умолчанию inline-block).
  • flex — элемент становится блочным контейнером для флекс-элементов (Flexbox).
  • grid — элемент становится блочным контейнером для грид-элементов (CSS Grid).
  • none — элемент не отображается и не занимает места на странице.

Свойства width и height для блочных элементов работают по умолчанию, но могут быть переопределены. Внешние поля (margin) могут быть заданы для всех сторон, включая вертикальные (в отличие от строчных элементов, где вертикальные margin игнорируются).

Применение

Блочные элементы используются для:

  • Структурирования страницы: разделение на шапку, основное содержимое, боковую панель, подвал.
  • Группировки контента: объединение заголовков, абзацев, изображений в логические блоки.
  • Создания макетов: с помощью блочных элементов и CSS (Flexbox, Grid) строятся сложные сетки и расположения элементов.
  • Форматирования текста: абзацы, заголовки, цитаты, списки.
  • Встраивания медиа: видео, аудио, изображения с подписями.
  • Создания форм: контейнеры для полей ввода, кнопок, меток.

Примеры

Пример простого HTML-документа с блочными элементами:

``html <!DOCTYPE html> <html> <head> <title>Пример блочных элементов</title> </head> <body> <header> <h1>Заголовок страницы</h1> <nav> <ul> <li><a href="#">Главная</a></li> <li><a href="#">О нас</a></li> <li><a href="#">Контакты</a></li> </ul> </nav> </header> <section> <article> <h2>Статья</h2> <p>Это абзац текста внутри статьи.</p> <blockquote>Цитата из источника.</blockquote> </article> <aside> <h3>Боковая панель</h3> <p>Дополнительная информация.</p> </aside> </section> <footer> <p>© 2025, Все права защищены.</p> </footer> </body> </html> ``

В этом примере <header>, <nav>, <ul>, <li>, <section>, <article>, <aside>, <footer>, <h1>, <h2>, <h3>, <p>, <blockquote> — все являются блочными элементами.

Интересные факты

  • В HTML5 количество блочных элементов сократилось по сравнению с HTML 4.01, так как некоторые элементы (например, <center>, <font>) были признаны устаревшими и удалены.
  • Свойство display: block может быть применено к любому элементу, включая строчные (например, <span>), что позволяет изменить его поведение.
  • Блочные элементы могут быть вложены друг в друга, но не все комбинации допустимы: например, <p> не может содержать другой блочный элемент (кроме <div> и <section> в некоторых случаях), а <li> может содержать любые блочные элементы.
  • В CSS Grid и Flexbox блочные элементы часто используются как контейнеры, но их дочерние элементы могут быть как блочными, так и строчными.

Источники

  1. Спецификация HTML5 (W3C) — раздел «The elements of HTML».
  2. Спецификация CSS 2.1 (W3C) — раздел «Visual formatting model».
  3. «HTML и CSS: дизайн и веб-сайты» — Джон Дакетт, 2011.
  4. MDN Web Docs (Mozilla Developer Network) — статьи «Block-level elements» и «CSS display property».
  5. «Изучаем HTML5» — Брюс Лоусон, Реми Шарп, 2011.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →