我在固定的(它必須相對於視口定位)div
和下面的(可滾動)列表頂部有一些內容。如何使容器佔用固定父元素內的剩餘垂直空間?
我想要列表從兄弟元素的底部開始,並在固定父元素的底部結束。我可以使用top: 123px;
,但頂部內容是可變高度(height:calc(100%-123px);
和margin
相同)。 每個位置都有一些東西讓他們不適合這項工作(例如:absolute
元素不考慮兄弟姐妹)。
Fiddle(不需要邊框和邊距)
#fixed-wrapper {
border: 1px solid blue;
position: fixed;
top: 32px;
bottom: 30px;
left: 5px;
right: calc(30%-5px);
}
#fixed-wrapper .scrollable-list {
position: absolute;
overflow-y: scroll;
top: 50px;
bottom: 0px;
color: red;
border: 1px solid red;
}
.some-bar, .some-other-bar {
border: 1px solid green;
margin: 2px;
padding 2px;
}
<div id="fixed-wrapper">
<div class="some-bar">some variable length text</div>
<div class="some-other-bar">some image or text</div>
<div class="scrollable-list">
<div class="list-item">item1</div>
<div class="list-item">item2</div>
<div class="list-item">item1</div>
<div class="list-item">item2</div>
<div class="list-item">item1</div>
<div class="list-item">item2</div>
<div class="list-item">item1</div>
</div>
</div>
我怎麼能做出這樣的設計工作?或者,或者,我怎麼可能重新組織DOM(或使用其他標籤,醜陋的表也許)具有這些屬性?
編輯:該解決方案只需要在Chrome下工作。
只是爲了澄清,所以你想列表項在的底部開始紅色邊框,不是嗎? – Stickers
不,由兄弟元素組成,我的意思是列表中的兄弟姐妹,所以_green_上面的 – gorhawk
我得到了你,副筆記,從小提琴中複製/粘貼代碼並將其插入問題本身,否則可能會關閉。 – Stickers