我使用flexbox構建佈局;獲取頁面級頁眉和頁腳以保持原位很容易,因此可以在頁眉和頁腳之間的區域顯示列。將固定頁腳添加到已由頁面級頁眉和頁腳限定的內容中
<div class="vbox fill" >
<header class="header">
</header>
<div class="hbox expand no-padding no-margin">
<div class="column1 vbox"></div>
<div class="column2 vbox"></div>
<div class="content vbox">
Content Here
</div>
<div class="column4 vbox"></div>
<div class="column5 vbox"></div>
</div>
<footer class="footer">
</footer>
</div>
CSS:
.vbox {
display: flex;
flex-direction: column;
margin: 0;
padding: 0;
}
.hbox {
display: flex;
flex-direction: row;
margin: 0;
padding: 0;
}
.expand {
flex: 1 1 100%;
width: 100%;
height: 1%;
}
.fill {
height: 100vh;
}
現在我想顯示的內容,但有一個 「頁腳」 留在地方里面的內容:
我已經設法在那裏得到一個紅色的頁腳,而黃色的內容填滿了屏幕的其餘部分,但是當黃色的div由於太多的數據而膨脹時,它會將紅色的div推出屏幕wi一個滾動條。
這是我到目前爲止已經完成(這個網站現在坐在這裏的Content Here
節)
CSS:
.row1 {
flex: 1 1 auto;
background-color: yellow;
}
.row2 {
flex: 0 0 50px;
background-color: red;
}
HTML:
<div class="row1" *contentItem>
TEST1
</div>
<div class="row2" *contentItem>
TEST2
</div>
黃色div顯然應該限制在某個h八,但我應該設置多少? 100vh
不是一個選項,因爲黃色和紅色div由頁眉和頁腳限定,並且100vh
只需使黃色div與頁面大小相同,而不考慮頁面級頁眉和頁腳,該頁面級別頁眉和頁腳也滾動出紅色欄視圖。
關於如何在黃色div展開時保持紅色div不被屏幕推出的任何想法?
編輯:
這個技巧似乎使其工作,不知道爲什麼1%的事情使得它的工作:
.row1 {
flex: 1 1 auto;
overflow: auto;
height: 1%;
}
.row2 {
flex: 0 0 auto;
}
是的,這正是我正在尋找的。首先需要消化CSS,我對flexbox相當陌生 –
@JanVladimirMostert好...只是添加了一些解釋。讓我知道如果你需要更多的信息 – LGSon
我得到它與1%的高度+ overlow自動黑客工作,不知道爲什麼它的作品。我會研究你的解決方案,並恰當地實施它。 –