Ada dua jenis utama keruntuhan margin:
- Runtuh margin antara elemen yang berdekatan
- Runtuh margin antara elemen induk dan anak
Menggunakan bantalan atau batas akan mencegah keruntuhan hanya dalam kasus terakhir. Selain itu, nilai apa pun yang overflow
berbeda dari default ( visible
) yang diterapkan pada induk akan mencegah keruntuhan. Dengan demikian, keduanya overflow: auto
dan overflow: hidden
akan memiliki efek yang sama. Mungkin satu-satunya perbedaan saat menggunakan hidden
adalah konsekuensi yang tidak disengaja dari menyembunyikan konten jika orang tua memiliki ketinggian tetap.
Properti lain yang, setelah diterapkan pada induknya, dapat membantu memperbaiki perilaku ini adalah:
float: left / right
position: absolute
display: inline-block / flex
Anda dapat menguji semuanya di sini: http://jsfiddle.net/XB9wX/1/ .
Saya harus menambahkan bahwa, seperti biasa, Internet Explorer adalah pengecualian. Lebih khusus lagi, di IE 7 margin tidak runtuh ketika beberapa jenis tata letak ditentukan untuk elemen induk, seperti width
.
Sumber: Artikel Sitepoint, Runtuh Marjin