İki ana marj çöküşü türü vardır:
- Bitişik öğeler arasındaki boşlukları daraltma
- Üst öğe ve alt öğe arasında kenar boşlukları daraltma
Bir dolgu veya kenarlık kullanılması, yalnızca ikinci durumda çökmeyi önleyecektir. Ayrıca, üst öğeye uygulanan overflowdefault ( visible) öğesinden farklı bir değer daralmayı önler. Böylece, hem overflow: autove overflow: hiddenaynı etkiye sahip olacaktır. Belki de kullanırken tek fark hidden, ebeveyni sabit bir yüksekliğe sahipse içeriği gizlemenin istenmeyen sonucudur.
Üst öğeye uygulandıktan sonra bu davranışı düzeltmeye yardımcı olabilecek diğer özellikler şunlardır:
float: left / right
position: absolute
display: inline-block / flex
Hepsini burada test edebilirsiniz: http://jsfiddle.net/XB9wX/1/ .
Her zamanki gibi Internet Explorer'ın istisna olduğunu eklemeliyim. Daha spesifik olarak, IE 7'de üst öğe için bir tür düzen belirtildiğinde kenar boşlukları çökmez width.
Kaynaklar: Sitepoint'in makalesi Çöken Kenar Boşlukları