現在我有一個flex列,其中有兩個項目,我試圖找出如何得到我正在尋找的行爲。特別是,我試圖強制執行那些具有一定最小和最大高度的項目。使用Flexbox的最小和最大高度
- 第一項
item1
是最高的。它應該包含儘可能多的垂直空間,但在任何情況下都不應低於50%。如果內容比這個大,它應該垂直滾動。 - 第二項
item2
位於中間。它不大於其內容,但在任何情況下都不應超過50%;如果內容比這個大,它應該垂直滾動。 - 在
item1
將伸展超過50%的情況下,但item2
不會,item2
不應收縮,因此它的內容應小於其內容。item1
應改爲開發垂直滾動條。 - 在
item1
和item2
在內容接縫處爆裂(太多不適合可用空間)的情況下,它們都應占用可用空間的50%。這就是說,item2
的增長優先於item1
的增長。 - 整列應始終保持在固定的高度。
(我發誓,我並不想成爲苛刻的,我只是想成爲真正的超級特定!)
這裏是SCSS代碼我目前有:
.column {
display: flex;
flex-direction: column;
.item1 {
flex: 1 1 auto;
overflow-y: scroll;
}
.item2 {
flex: 0 1 auto;
overflow-y: scroll;
}
}
這讓我在那裏的大部分途徑,但在兩個項目失控的情況下,item2
最終超過item1
。此外,在只有item1
變得過大的情況下,item2
縮小了,我寧願沒有。
但是總結一下,真的回答了這個問題中最緊迫的部分,可以和Flexbox結合使用最大高度和最小高度嗎?只需添加min-height
和max-height
似乎不起作用。
編輯:有人問一個工作的例子。這應該起作用,儘管它可能會讓你失明。
https://jsfiddle.net/TheSoundDefense/oxykdhpt/1/
編輯2:現在的代碼有item1
和隔離item2
,使得item3
無關,所以我刪除它。
請提供一個工作示例 – Dekel
yes..can同時使用 – charlietfl
我無法理解的部分*第一個項目item1位於頂部。它應該包含儘可能多的垂直空間,但在任何情況下都不應低於50%。如果內容比這更大,它應該垂直滾動* – vals