Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про CSS: margin, collapsing

Как браузер рассчитывает итоговый margin между двумя блочными элементами?

Вопрос проверяет понимание механизма схлопывания отступов и того, как браузер вычисляет вертикальные расстояния между блоками.

Короткий ответ

Вертикальные margin у блочных элементов могут схлопываться.
Если два вертикальных margin соприкасаются, браузер не суммирует их, а берет максимальный.
Это поведение называется margin collapsing.
Горизонтальные margin не схлопываются.

Длинный ответ

При работе с вертикальными отступами важно понимать, что браузер не всегда складывает значения margin.

Определение

Margin collapsing — это поведение CSS, при котором вертикальные margin соседних блочных элементов объединяются в один.

Когда происходит схлопывание

Схлопывание margin происходит в следующих случаях:

  1. Между двумя соседними блочными элементами

  2. Между родителем и первым или последним дочерним элементом

  3. При пустых блочных элементах

Как вычисляется итоговый отступ

Если схлопываются два вертикальных margin:

  • Браузер берет большее значение

  • Если есть отрицательные margin, результат вычисляется сложнее

Пример:

.block-a { margin-bottom: 40px; }
.block-b { margin-top: 20px; }

Итоговый отступ будет 40px, а не 60px.

Когда margin не схлопывается

Схлопывание не происходит, если:

  • Используется padding или border

  • Элемент имеет overflow: hidden | auto | scroll

  • Используется flex или grid

Вывод

Схлопывание margin — это стандартное поведение CSS. Его нужно учитывать при верстке, чтобы избегать неожиданных отступов.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    5

  • Сложность:

    6

Навыки

  • CSS

    CSS

Ключевые слова

#margin

#collapsing

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию