Існує два основних типи краху маржі:
- Скупчення поля між сусідніми елементами
- Збірні поля між елементами батьків і дітей
Використання прокладки або бордюру запобіжить згортання лише в останньому випадку. Крім того, будь-яке значення, overflow
відмінне від його за замовчуванням ( visible
), застосоване до батьківського, запобігає краху. Таким чином, і те, overflow: auto
і те overflow: hidden
матимуть однаковий ефект. Мабуть, єдина відмінність при використанні hidden
- це ненавмисний наслідок приховування вмісту, якщо батько має фіксовану висоту.
Інші властивості, які, застосовані до батьків, можуть допомогти виправити цю поведінку:
float: left / right
position: absolute
display: inline-block / flex
Ви можете протестувати їх тут: http://jsfiddle.net/XB9wX/1/ .
Варто додати, що, як зазвичай, Internet Explorer - виняток. Більш конкретно, в IE 7 поля не руйнуються, коли визначений якийсь макет для батьківського елемента, наприклад width
.
Джерела: Стаття Sitepoint Розбиваються на полях