Розбираємо margin collapsing, alexdev

Добрий день, шановні читачі!

Розуміння, як відбувається collapsing (схлопування) margin-ів в CSS. може зробити життя web-розробнику набагато легше. Давайте подивимося, як працює схлопування margin-ів в CSS.

Горизонтальний і вертикальний Margin Collapsing

Горизонтальні margin-и ніколи не схлопиваются. А ось з вертикальними все не так просто.

Для розуміння, як вертикальні margin-и схлопиваются, створимо такий простий приклад.

Результат в браузері

Розбираємо margin collapsing, alexdev

Позитивні відступи між суміжними елементами

Вертикальні суміжні margin-и схлопиваются. Якщо два елементи мають позитивний вертикальний відступ, то в результаті відступом між елементами буде найбільший з двох відступів.

Результат в браузері

Розбираємо margin collapsing, alexdev

Суміжні елементи з позитивним і негативним відступами

Якщо один елемент має позитивний відступ, а другий негативний, то результатом буде сума відступів між елементами.

Результат в браузері

Розбираємо margin collapsing, alexdev

Якщо сума відступів буде негативною, то останній елемент буде перекривати перший. Подивимося це на прикладі нижче.

Результат в браузері

Схлопування відступів батьківського і дочірнього елемента

Якщо батьківський елемент не має border або padding. тоді батьківський і дочірній відступ схлопнуться і результатом буде більший з двох відступів.

Результат в браузері

Розбираємо margin collapsing, alexdev

Як прибрати margin collapsing батьківського і дочірнього елемента

Щоб прибрати схлопування, потрібно задати для батьківського елемента border або padding.

Результат в браузері

Розбираємо margin collapsing, alexdev