Jawaban:
Tambahkan properti berikut:
.c{
...
overflow: hidden;
}
Ini akan memaksa wadah untuk menghormati ketinggian semua elemen di dalamnya, terlepas dari elemen mengambang.
http://jsfiddle.net/gtdfY/3/
Baru-baru ini, saya sedang mengerjakan sebuah proyek yang membutuhkan trik ini, tetapi perlu memungkinkan overflow untuk ditampilkan, jadi sebagai gantinya, Anda dapat menggunakan elemen semu untuk membersihkan float Anda, secara efektif mencapai efek yang sama sambil membiarkan overflow pada semua elemen.
.c:after{
clear: both;
content: "";
display: block;
}
Anda mengapung anak-anak yang artinya mereka "mengapung" di depan wadah. Untuk mengambil ketinggian yang benar, Anda harus "membersihkan" pelampung
The div style = "clear: both" membersihkan mengambang dan memberikan ketinggian yang benar ke wadah. lihat http://css.maxdesign.com.au/floatutorial/clear.htm untuk info lebih lanjut tentang float.
misalnya.
<div class="c">
<div class="l">
</div>
<div class="m">
World
</div>
<div style="clear: both" />
</div>
Solusi terbaik dan paling antipeluru adalah menambahkan ::before
dan ::after
pseudoelements ke wadah. Jadi jika Anda memiliki misalnya daftar seperti:
<ul class="clearfix">
<li></li>
<li></li>
<li></li>
</ul>
Dan setiap elemen dalam daftar memiliki float:left
properti, maka Anda harus menambahkan css Anda:
.clearfix::after, .clearfix::before {
content: '';
clear: both;
display: table;
}
Atau Anda dapat mencoba display:inline-block;
properti, maka Anda tidak perlu menambahkan perbaikan apa pun.