İ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 overflow
default ( visible
) öğesinden farklı bir değer daralmayı önler. Böylece, hem overflow: auto
ve overflow: hidden
aynı 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ı