Що таке «collapsing margins»?
Collapsing margins, це ефект схлопування вертикальних margin у блоків, коли замість підсумовування береться найбільше значення, і підсумковий відступ стає спільним.
Відбувається лише з вертикальними відступами (margin-top і margin-bottom) і лише в block-level елементів.
Коли margins схлопуються
- Між двома сусідніми блоковими елементами
css
div + div {
/* margin-bottom першого і margin-top другого схлопнуться */
}- Між батьківським елементом і першим/останнім дочірнім елементом
(якщо в батьківського елемента немає
border,paddingабоoverflow) - У порожнього блока (якщо в ньому немає контенту, padding і border)
Як рахується підсумок
Якщо є два відступи:
javascript
margin-bottom: 30px
margin-top: 20pxПідсумок буде 30px, а не 50px.
Коли margins НЕ схлопуються
- якщо є
border - якщо є
padding - якщо задано
overflow: hidden | auto | scroll - якщо елемент, flex або grid
Суть в одному реченні
Collapsing margins, це механізм, за якого вертикальні margin двох блоків об'єднуються в один, що дорівнює максимальному.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.