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

48. Логические свойства (inline, block)

Иллюстрация к уроку Добро пожаловать на урок, посвященный логическим свойствам в CSS! Эти свойства позволяют более гибко управлять отображением элементов, особенно при работе с разными языками и направлениями текста.

В HTML каждый элемент имеет тип отображения, который определяет, как он будет располагаться на странице. Самые распространенные типы – inline и block.

  • Inline элементы занимают только ту ширину, которая необходима для их содержимого. Они располагаются в строке, один за другим. Примеры: <span>, <a>, <img>.
  • Block элементы занимают всю доступную ширину родительского элемента и всегда начинаются с новой строки. Примеры: <div>, <p>, <h1>-<h6>.

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

/* Делаем элемент строчным (inline) */
.inline-element {
display: inline;
}
/* Делаем элемент блочным (block) */
.block-element {
display: block;
}

Рассмотрим пример с двумя span элементами:

<p>
Это <span>первый</span> <span>второй</span> span элемент.
</p>
<div style="width: 200px; border: 1px solid black;">
<span style="background-color: lightblue;">Span 1</span>
<span style="background-color: lightgreen;">Span 2</span>
</div>
<div style="width: 200px; border: 1px solid black;">
<div style="background-color: lightblue; display: block;">Div 1</div>
<div style="background-color: lightgreen; display: block;">Div 2</div>
</div>

В первом примере span элементы располагаются в одной строке. Во втором примере, чтобы div элементы занимали всю ширину, мы явно указали display: block;.

Существуют и другие значения свойства display:

  • inline-block: Элемент ведет себя как строчный, но можно задавать ширину и высоту.
  • none: Элемент не отображается на странице.
  • flex, grid: Используются для создания сложных макетов (рассмотрим позже).

Многие UI-библиотеки и фреймворки, такие как Bootstrap и Material UI, активно используют логические свойства для создания компонентов. Например, кнопки часто стилизуются с использованием display: inline-block, чтобы они располагались рядом друг с другом, но при этом можно было задать им ширину и высоту. В React, Vue и Angular, управляя классами CSS, можно динамически менять значение display в зависимости от состояния компонента. Пример: отображение/скрытие модального окна.

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