用flex佈局實現Sticky Footers
Sticky Footer 佈局是在開發中經常會用到的一種佈局,它的效果簡而言之就是當內容的高度小於螢幕的高度時,footer元件會停留在螢幕的最下方,但如果內容高度大於螢幕高度,則footer會被推到內容的最下方.本文將討論如何使用flex佈局來解決這個問題。
HTML
<body>
<header>
<h1>Header</h1>
</header>
<div class="main">
<div>Main Content </div>
</div>
<footer>
<h1>Sticky Footer</h1>
</footer>
</body>
CSS
<style>
html,body {
display: flex;
flex-flow: column;
min-height: 100vh;
}
.main {
flex: 1;
}
</style>
解釋
這裡採用了flex佈局,flex-flow:column
定義了縱向佈局,min-height:100vh
定義了body的最小高度是100%的視窗高度。.main
中的樣式flex
屬性是flex-grow,flex-shrink和flex-basis的簡寫,分別代表專案的放大比例(預設0),專案的縮小比例(預設1)和專案在分配多餘空間之前佔據的主軸空間(預設auto,即專案的原大小),這裡flex:1
等同於flex:1 1 0%
,如果其他專案的flex都是flex:1
,則會等分剩餘空間。但假如<footer>
設定了flex:2
,那麼頁尾的高度將會是主內容高度的2倍。總的來說,為了實現sticky footer,min-height
和flex
的定義缺一不可。
相關連結
相關文章
- 用Flex實現常見的幾種佈局Flex
- 聖盃佈局進階版-flex佈局實現Flex
- Flex佈局應用Flex
- flex佈局實戰Flex
- html頁面實現聖盃佈局flexHTMLFlex
- CSS佈局–聖盃佈局和雙飛翼佈局以及使用Flex實現聖盃佈局CSSFlex
- Flex佈局Flex
- flex 佈局Flex
- 有趣的發現,position的sticky粘性佈局
- css flex佈局CSSFlex
- flex佈局原理Flex
- 浮動佈局 和 flex佈局Flex
- 關於flex佈局的應用Flex
- Flex佈局語法與實踐Flex
- dispaly的Grid佈局與Flex佈局Flex
- CSS display: flex佈局CSSFlex
- Flex佈局-子項Flex
- flex佈局——轉載Flex
- flex佈局學習Flex
- 淺談Flex佈局Flex
- flex佈局屬性Flex
- flex 佈局:語法Flex
- flex佈局筆記Flex筆記
- html的flex佈局?HTMLFlex
- 重溫 Flex 佈局Flex
- 進一步瞭解flex佈局—來實現這些常見佈局吧Flex
- Flex、Grid、媒體查詢實現響應式佈局Flex
- flex彈性佈局 響應式佈局Flex
- flex 方式的佈局你用對了嗎?Flex
- CSS3實現瀑布流佈局(display: flex/column-coCSSS3Flex
- 簡單理解flex佈局Flex
- Flex-彈性佈局Flex
- 移動端flex佈局Flex
- display:flex 彈性佈局Flex
- CSS關於flex佈局CSSFlex
- css3 flex 佈局CSSS3Flex
- 快應用採坑與flex佈局講解Flex
- CSS:彈性佈局(display:flex)CSSFlex
- CSS Flex 佈局的引入背景CSSFlex