Перейти к основному содержимому

Свойство CSS display

Свойство display — одно из самых важных свойств для управления макетом. Оно определяет, обрабатывается ли элемент как блочный или строчный.

Каждый элемент имеет значение display по умолчанию, основанное на его типе, обычно block или inline. Свойство display позволяет изменить это поведение по умолчанию.


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

Блочный элемент всегда начинается с новой строки и занимает всю доступную ширину.

<div> — блочный элемент. Другие примеры включают <h1>–<h6>, <p>, <form>, <header>, <footer> и <section>.


Строчные элементы

Строчный элемент не начинается с новой строки и занимает только столько ширины, сколько ему нужно.

Примеры строчных элементов включают <span>, <a> и <img>.


Значения Display

У свойства display много значений. Наиболее распространённые:

  • inline — отображает элемент как строчный.
  • block — отображает элемент как блочный.
  • contents — заставляет контейнер исчезнуть, так что его дочерние элементы поднимаются на уровень выше в DOM.
  • flex — отображает элемент как блочный flex-контейнер.
  • grid — отображает элемент как блочный grid-контейнер.
  • inline-block — форматирует элемент как строчный, но позволяет задавать высоту, ширину, отступы и поля.
  • none — полностью скрывает элемент, так что он не занимает места.

Переопределение значения display по умолчанию

Свойство display изменяет поведение элемента по умолчанию. Изменение строчного элемента на блочный или наоборот может помочь странице выглядеть так, как вы хотите, при сохранении соответствия веб-стандартам.

Примечание: Установка display изменяет только то, как отображается элемент, а не то, каким элементом он является. Так, строчный элемент с display: block всё равно не может содержать другие блочные элементы.

Span как блок

Строчные элементы <span> отображаются как блочные элементы, каждый на своей строке.

Prompt
Страница HTML, отображающая строчные элементы span как блочные элементы. Во внутреннем блоке <style> установите span { display: block; }. Добавьте несколько элементов <span>, чтобы каждый появлялся на своей строке вместо строчного отображения.
Результат: полная HTML-страница

Ссылка как блок

Строчные элементы <a> отображаются как блочные элементы, каждый на своей строке.

Prompt
Страница HTML, отображающая строчные элементы ссылок как блочные элементы. Во внутреннем блоке <style> установите a { display: block; }. Добавьте несколько ссылок <a>, чтобы каждая появлялась на своей строке.
Результат: полная HTML-страница

Пример с несколькими значениями display

Вы можете применять к элементам несколько разных значений display.

Пример

Шесть абзацев используют none, inline, block, inline-block, flex и grid.

Prompt
Страница HTML, демонстрирующая несколько значений display. Во внутреннем блоке <style> создайте шесть классов абзацев: ex1 none, ex2 inline, ex3 block, ex4 inline-block, ex5 flex, ex6 grid. Добавьте подписанный абзац для каждого, чтобы были видны разные варианты отображения (абзац "none" будет скрыт).
Результат: полная HTML-страница