Свойства display в CSS
Свойство display в CSS управляет тем, как элемент отображается на странице. Оно определяет, будет ли элемент блоком, строчным элементом, или элементом с другим типом отображения.
Основные значения для свойства display
Значение | Описание | Пример |
---|---|---|
block | Элемент занимает всю доступную ширину, начиная с новой строки. Обычно используется для контейнеров, заголовков, абзацев и т.д. | <div> , <p> , <h1> |
inline | Элемент занимает только необходимое пространство по ширине и не вызывает перехода на новую строку. | <span> , <a> , <strong> |
inline-block | Элемент ведет себя как строчный элемент, но при этом позволяет задавать размеры (ширину и высоту). | <img> , <button> |
none | Элемент не отображается и не занимает места в документе. Все его свойства, включая размеры и позиционирование, игнорируются. | <div style="display: none;"> |
flex | Элемент становится флекс-контейнером, внутри которого его дочерние элементы становятся флекс-элементами (позволяет создавать гибкие макеты). | <div style="display: flex;"> |
grid | Элемент становится контейнером для сетки, а его дочерние элементы становятся ячейками этой сетки. | <div style="display: grid;"> |
table | Элемент ведет себя как таблица, подобно элементу <table> . | <div style="display: table;"> |
list-item | Элемент ведет себя как элемент списка, подобно <li> . | <div style="display: list-item;"> |
run-in | Этот режим используется редко. Элемент сначала ведет себя как блочный, а затем, если возможно, он становится строчным. | <div style="display: run-in;"> |
inherit | Значение display наследуется от родительского элемента. | <div style="display: inherit;"> |
unset | Если свойство display задано на элементе, то оно сбрасывается, и элемент возвращается к своему первоначальному значению. | <div style="display: unset;"> |
Когда использовать каждое значение
block
— используйте для элементов, которые должны занимать всю ширину родительского контейнера, например, для контейнеров и секций.inline
— используйте для элементов, которые должны быть расположены в строке с другими элементами, например, для ссылок или текста.inline-block
— полезно для создания элементов, которые должны располагаться в строке, но при этом иметь возможность задавать размеры.none
— используйте для скрытия элементов, когда необходимо полностью удалить их из потока документа.flex
— используйте для создания гибких, адаптивных макетов, где дочерние элементы могут изменять свой размер в зависимости от доступного пространства.grid
— используйте для создания двухмерных макетов с точным позиционированием элементов в сетке.table
— используйте для создания таблиц, где элементы должны вести себя как строки и ячейки таблицы.list-item
— используйте для элементов, которые должны вести себя как элементы списка, например,<ul>
и<ol>
.run-in
— редко используется, но полезно для создания элементов, которые сначала ведут себя как блочные, а затем становятся строчными.
Пример использования
/* Флекс-контейнер */
.container {
display: flex;
justify-content: space-between;
}
/* Элемент в сетке */
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
}
/* Скрытие элемента */
.hidden {
display: none;
}
Особенности использования display: none:
При использовании display: none
элемент не только скрывается, но и не занимает места в потоке документа. Если нужно скрыть элемент, но оставить его место, используйте visibility: hidden
.