Saya memiliki halaman dengan div seperti di bawah ini
<div id="container">
<div id="A">
</div>
<div id="B">
<div id="B1"></div>
<div id="B2">B2</div>
</div>
<div id="C"></div>
<div id="D">
</div>
</div>
dengan gaya sebagai;
html, body {
margin: 0;
padding: 0;
border: 0;
}
#B, #C, #D {
position: absolute;
}
#A{
top: 0;
width: 100%;
height: 35px;
background-color: #99CC00;
}
#B {
top: 35px;
width: 200px;
bottom: 35px;
background-color: #999999;
z-index:100;
}
#B2 {
margin-top: -35px;
bottom: 0;
background-color: #FFFFFF;
width: 200px;
overflow: scroll;
}
#B1 {
height: 35px;
width: 35px;
margin-left: 200px;
background-color: #CC0066;
}
#C {
top: 35px;
left: 200px;
right: 0;
bottom: 35px;
background-color: #CCCCCC;
}
#D {
bottom: 0;
width: 100%;
height: 35px;
background-color: #3399FF;
}
Saya ingin menyesuaikan ketinggian div B2
untuk mengisi (atau meregangkan ke) seluruh div B
(ditandai dengan batas hijau) dan tidak ingin menyilangkan footer div D. Berikut adalah demo biola yang berfungsi (diperbarui). Bagaimana saya bisa memecahkan masalah ini??
float
induk yang berbeda dari itu?Misalkan Anda punya
Dengan CSS normal, Anda dapat melakukan hal berikut. Lihat aplikasi yang berfungsi https://github.com/onmyway133/Lyrics/blob/master/index.html
Dengan flexbox, Anda bisa
sumber
http://jsfiddle.net/QWDxr/1/
Gunakan properti "min-height".
Berhati-hatilah dengan paddings, margin dan border :)
sumber
B
div id= D
. Saya tidak ingin melewati div dheight:100%
tidak ada titik koma untuk#B2
gaya.Yang sesuai dengan tujuan saya adalah membuat div yang selalu dibatasi dalam jendela browser secara keseluruhan dengan jumlah yang tetap.
Apa yang berhasil, setidaknya di firefox, adalah ini
<div style="position: absolute; top: 127px; left: 75px;right: 75px; bottom: 50px;">
Sejauh jendela sebenarnya tidak dipaksa untuk menggulir, div mempertahankan batasnya ke tepi jendela selama semua pengaturan ulang.
Semoga ini menghemat waktu seseorang.
sumber
Jika Anda akan menggunakan B2 untuk tujuan penataan, Anda dapat mencoba "retasan" ini
jsFiddle
sumber
margin-bottom: -9999px;
. Anda kehilangan minusnya.Posisi wadah B2 relatif
Posisi teratas B2 + dari ketinggian yang tersisa
Tinggi B2 + tinggi B1 atau tinggi tersisa
sumber
Saya menggunakan
height: stretch;
. Di sini Anda dapat menemukan beberapa detail tentang penggunaan.sumber
Saya akan menyelesaikannya dengan solusi javascript (jQUery) jika ukurannya dapat bervariasi.
sumber
javascript
ataujquery
cukup?