[英]Make flex items take full height of overflowing container
在示例中(最后鏈接到 jsfiddle)我想
justify-content/items
和align-content/items
為stretch
但這不起作用。這里是一個鏈接到的jsfiddle的例子。
.outer_container { width: 100%; background-color: yellow; display: flex; height: 200px; overflow: auto; justify-content: stretch; align-items: stretch; justify-items: stretch; align-content: stretch; } .column { width: 199px; border-left: 1px solid white; flex-shrink: 0; } .column.last { flex-grow: 1; flex-shrink: 1; width: unset; } .column_item { height: 44px; background-color: blue; border-top: 1px solid red; }
<div class="outer_container"> <div class="column"> <div class="column_item"> </div> <div class="column_item"> </div> <div class="column_item"> </div> <div class="column_item"> </div> <div class="column_item"> </div> <div class="column_item"> </div> </div> <div class="column" style="background-color: gray;"> <div class="column_item"> </div> </div> <div class="column"> <div class="column_item"> </div> </div> <div class="column"> <div class="column_item"> </div> </div> <div class="column"> <div class="column_item"> </div> </div> <div class="column last"> <div class="column_item"> </div> </div> </div>
對於您的問題 No.1 將所需寬度的 flex-basis 添加到最后一列。
.column.last {
flex-basis: 100px;
flex-grow: 1;
flex-shrink: 1;
}
如果我們使用 flex-basis,它將覆蓋寬度,但如果我們使用 max-width,max-width 將覆蓋 flex-basis,但在這種情況下 flex-grow 將不起作用。 如果您不希望最后一列增長,您可以使用 max-width 而不是 flex-basis。
問題二
使用視口 height(vh) 而不是 px 來定義“column-item”類的高度。 如果您想要灰色列的恆定高度,請在“列”內添加一個額外的“column_item-2”,並為其提供 100% 的寬度和您想要的高度。
<div class="column">
<div class="column_item"></div>
<div class="column_item-2"></div>
</div>
.column_item-2{
width: 100%;
height: 150px;
background: gray;
}
希望它有幫助:)
黃色帽子和灰色帽子應該排成一排嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.