Блочные, строчные и строчно-блочные элементы
Разберитесь в различиях между режимами отображения block, inline и inline-block.
«Блочные, строчные и строчно-блочные элементы» — бесплатный урок CSS Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения CSS Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс CSS Academy содержит 4 уроков всего.
Свойство display
Свойство display — одно из важнейших свойств CSS. Оно определяет, как элемент участвует в потоке раскладки: создаёт ли он блочный блок, строчный блок или промежуточный вариант.
Блочные элементы
Блочные элементы начинаются с новой строки и растягиваются на всю ширину контейнера. Для них можно задать ширину, высоту, внешние и внутренние отступы со всех сторон.
Блочные элементы по умолчанию: div, p, h1-h6, section, article.
<div>I'm a block element — full width, centered.</div>
Строчные элементы
Строчные элементы располагаются внутри текста. Они не начинаются с новой строки. Задание width или height не влияет на них. Верхние и нижние внешние отступы игнорируются, а горизонтальные внешние и внутренние отступы работают.
Строчные элементы по умолчанию: span, a, strong, em, img.
<p>This is <span>an inline span</span> inside a paragraph.</p>
Строчно-блочные элементы
display: inline-block — гибридный вариант. Элементы располагаются в строке, без принудительного переноса, но поддерживают ширину, высоту и все свойства блочной модели, как блочные элементы.
<a class="btn" href="#">Click Me</a>
Строчно-блочные элементы для навигации
До появления флексбокса inline-block использовался для горизонтальных панелей навигации. Недостаток этого подхода в том, что пробелы в исходном коде HTML создают небольшие промежутки между элементами.
<ul><li>Home</li><li>About</li><li>Contact</li></ul>
Удаление промежутка между строчно-блочными элементами
Промежуток между строчно-блочными элементами можно удалить, задав font-size: 0 для родителя и восстановив размер шрифта у дочерних элементов либо удалив пробелы из HTML.
<ul><li>One</li><li>Two</li><li>Three</li></ul>
Замена строчно-блочных элементов флексбоксом
В современном CSS предпочтительный способ создавать горизонтальные раскладки без проблем с пробелами — задать родителю display: flex. inline-block по-прежнему полезен для задания размеров отдельных элементов.
Изменение display
Тип display любого элемента можно изменить с помощью CSS. Это часто используют, чтобы придать ссылкам форму кнопок или расположить элементы списка горизонтально.
<a class="button" href="#">Button</a>
<ul><li>Item 1</li><li>Item 2</li></ul>
Табличные значения display
CSS предоставляет значения display: table, display: table-row, display: table-cell и т. д., позволяющие применить табличную раскладку к элементам, не являющимся таблицами. Сегодня это требуется редко, но бывает полезно для вертикального выравнивания в устаревших сценариях.
Корень потока: display: flow-root
display: flow-root создаёт новый контекст форматирования блоков без побочных эффектов overflow: hidden. Он очищает обтекание и не позволяет схлопыванию внешних отступов выходить за пределы контейнера.
<div class="clearfix">Contains floated children without collapsing.</div>
Анонимные блоки
Когда блочные и строчные элементы находятся среди соседних элементов, браузер оборачивает отдельные строчные фрагменты в анонимные блочные блоки. Это незаметное поведение, но оно объясняет неожиданные сдвиги раскладки.
Быстрая проверка
Какое значение display позволяет задать width, сохраняя элемент в строчном потоке?
Итоги
Блочные элементы занимают всю ширину и начинаются с новой строки. Строчные элементы располагаются вместе с текстом и игнорируют ширину и высоту. Строчно-блочные элементы объединяют оба свойства: располагаются в строке, но принимают ширину и высоту. В современных раскладках вместо сеток из inline-block предпочтительны флексбокс и грид.
Часто задаваемые вопросы
Урок «Блочные, строчные и строчно-блочные элементы» бесплатный?
Да — полный текст урока «Блочные, строчные и строчно-блочные элементы» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс CSS Academy, подпишись на CoddyKit PRO. Курс CSS Academy содержит 4 уроков всего.
Чему я научусь в уроке «Блочные, строчные и строчно-блочные элементы»?
Разберитесь в различиях между режимами отображения block, inline и inline-block. Ты практикуешь CSS Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать CSS Academy?
Предыдущий опыт не требуется. CSS Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Блочные, строчные и строчно-блочные элементы»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке CSS Academy?
Да. Каждый урок CSS Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Блочные, строчные и строчно-блочные элементы
- Видимость и display: none
- Переполнение: прокрутка, обрезка и автоматический режим
- Сброс CSS и Normalize