TGViewer
Frontend | Вопросы собесов Frontend | Вопросы собесов @easy_javascript_ru · 17.6K subscribers
Post #305 7.91K
Что такое схлопывание границ ?
Спросят с вероятностью 7%

Схлопывание границ (или схлопывание отступов, margin collapsing) — это поведение CSS, при котором вертикальные отступы (margins) соседних блоков могут быть объединены (схлопнуты) в один отступ. Это позволяет избежать удвоения вертикальных отступов между элементами и упрощает их управление.

Основные правила

1️⃣Смежные вертикальные отступы:
Когда два вертикальных отступа соседних блоков соприкасаются, они схлопываются в один. Размер схлопнутого отступа равен наибольшему из двух схлопывающихся отступов.
      <div class="block1"></div>
<div class="block2"></div>


В данном случае итоговый отступ между .block1 и .block2 будет 30px, а не 50px.

2️⃣Родитель и первый/последний дочерний элемент:
Если первый или последний дочерний элемент имеет вертикальный отступ, он схлопывается с отступом родительского элемента, если между ними нет границ, внутреннего отступа или контента.
      <div class="parent">
<div class="child"></div>
</div>


В этом случае итоговый отступ сверху для .child будет 20px, так как отступ .child схлопывается с отступом родителя.

3️⃣Пустые блоки:
Если блок не содержит контента, границ или внутреннего отступа, его вертикальные отступы также могут схлопываться.

Примеры

Схлопывание между соседними элементами

<div class="box1">Box 1</div>
<div class="box2">Box 2</div>


Итоговый отступ между .box1 и .box2 будет 30px.

Схлопывание границ родителя и первого/последнего дочернего элемента
<div class="container">
<div class="content">Content</div>
</div>


Итоговый верхний отступ для .content будет 25px, так как отступы схлопываются.

Исключения и предотвращение схлопывания


✅Границы или внутренние отступы:
Если между элементами добавить границу или внутренний отступ, схлопывания не произойдет.
    .parent {
padding-top: 1px;
}


✅Flexbox и Grid:
Элементы, расположенные с помощью Flexbox или Grid, не схлопывают свои отступы.

✅Блоки с overflow: hidden, position: absolute, или display: inline-block:
Такие блоки не участвуют в схлопывании отступов.

Схлопывание границ — это процесс объединения вертикальных отступов соседних блоков в один, чтобы избежать удвоения отступов. В результате итоговый отступ равен наибольшему из схлопывающихся отступов.

🔥 ТОП ВОПРОСОВ С СОБЕСОВ

🔒 База собесов | 🔒 База тестовых
  • 👍 26
  • ❤ 5
  • 🔥 3
More from @easy_javascript_ru
  1. Oct 16, 2026🤔 Что такое meta теги? Meta-теги – это специальные HTML-теги, которые содержат метаинформ…
  2. Oct 15, 2026Post #3044
  3. Oct 15, 2026🤔 Какие преимущества у di? Dependency Injection (DI) – это паттерн проектирования, которы…
  4. Oct 14, 2026🤔 Зачем создавались библиотеки react и другие? Библиотеки, такие как React, создавались д…
  5. Oct 13, 2026🤔 Что такое репозиторий? Это хранилище кода, файлов и их истории изменений. Используется…
  6. Oct 13, 2026🤔 Как мы можем замерить скорость работы участка кода с date.Now? В JavaScript можно замер…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →