Ketika dua inline-block
div
s memiliki ketinggian yang berbeda, mengapa yang lebih pendek dari keduanya tidak sejajar dengan bagian atas wadah? ( DEMO ):
.container {
border: 1px black solid;
width: 320px;
height: 120px;
}
.small {
display: inline-block;
width: 40%;
height: 30%;
border: 1px black solid;
background: aliceblue;
}
.big {
display: inline-block;
border: 1px black solid;
width: 40%;
height: 50%;
background: beige;
}
<div class="container">
<div class="small"></div>
<div class="big"></div>
</div>
Bagaimana saya bisa menyelaraskan yang kecil div
di bagian atas wadahnya?
Jawaban:
Karena
vertical-align
diatur pada baseline sebagai default.Gunakan
vertical-align:top
sebaliknya:http://jsfiddle.net/Lighty_46/RHM5L/9/
Atau seperti yang dikatakan @ f00644 , Anda dapat menerapkan
float
elemen anak juga.sumber
baseline
standarnya? Saya yakin ada alasan yang bagus, tetapi bagi yang tidak berharap itu sepertinya aneh. Anda berakhir dengan efek skyline Manhattan.Anda perlu menambahkan
vertical-align
properti ke div dua anak Anda.Jika
.small
selalu lebih pendek, Anda hanya perlu menerapkan properti.small
. Namun, jika salah bisa menjadi tertinggi maka Anda harus menerapkan properti untuk kedua.small
dan.big
.Perataan vertikal memengaruhi inline atau kotak-sel kotak, dan ada sejumlah besar nilai yang berbeda untuk properti ini. Silakan lihat https://developer.mozilla.org/en-US/docs/Web/CSS/vertical-align untuk perincian lebih lanjut.
sumber
sumber
Tambahkan overflow: otomatis ke div kontainer. http://www.quirksmode.org/css/clearing.html Situs web ini menunjukkan beberapa opsi ketika mengalami masalah ini.
sumber