国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

stricky footer的三種解決方案詳解

2024-07-11 08:42:13
字體:
來源:轉載
供稿:網友

stricky footer設計是最古老和最常見的效果之一,我們都曾經歷過類似的情景:

如果頁面內容不夠長的時候,頁腳塊粘貼在底部;如果內容足夠長時,頁腳塊會被內容向下推送。

這些天做vue+express實戰的練習,跟著黃軼老師倒是認識了stricky footer,就認真的了解學習了一下,但是前兩天的問題,今天幾種解決方案的詳細情況竟然有些模糊,所以還是記錄下來吧!求學之路就是這樣,不斷地積累和重復。

上圖底部的 x 就用到了經典的stricky footer,單頁面內容足夠時,它會向下推送;當頁面內容沒有撐滿整個屏幕時,它就固定在底部。

而不是像下圖這樣:

 

問題

如果此前不知道stricky footer,使用fixed固定在底部的話,像下圖這樣

position: fixed;width: 32px;height: 32px;bottom: 20px;left: calc(50% - 16px);font-size: 32px;

那樣 x 會覆蓋內容,顯然是不符合要求的不實際的,而且不美觀的。

所以經典的stricky footer 廣為所用,適用情景也非常多,前幾天回顧第一次做的項目,發現很多地方適用。

解決方案

stricky footer主要有三種解決方案,我們構建一點簡單的代碼

<body>  <div class="content"></div>  <div class="footer"></div></body>

1.為內容區域添加最小的高度

這個方法主要是用視口vh來計算整體視窗的高度,然后減去底部footer的高度,從而得出內容區域的最小高度

.content{  min-height:calc(100vh - `footer的高度`);  box-sizing:border-box;}

這種方法很簡單,但是如果頁面的footer高度不同,每個頁面都要重新計算一次,所以并不推薦

2.使用flex布局

flex布局如今在移動端布局可謂是占有一片天地,廣為所用。

我們通常利用flex布局對視窗寬度進行分割,一側是固定寬度,另一側是自適應寬度。同樣的,flex布局當然也可以對對視窗高度進行分割,footer的flex為0,這樣flex獲得其固有的高度;content的flex為1。這樣它會充滿除去footer的其余部分

body{  display:flex;  flex-flow:column;  min-height:100vh;}.content{  flex:1;}.footer{  flex:0;}

這種方法較為推薦

3.在content的外面添加一個wrapper層

這種方法也是黃軼老師使用的方法,在content的外面添加一個wrapper層包裹

<body>  <div class="content-wrapper clearfix">    <div class="content"></div>  </div>  <div class="footer"></div></body>

這種做法為了保證兼容性,我們通常會在wrapper層上添加一個clearfix類,

html,body,.content-wrapper{  height:100%}body > .content-wrapper{  height:auto;  min-height:100%;}.content{  padding-bottom:150px //與footer的高度相同}.footer{  position:relative;  margin-top:-150px; // -`footer高度`  height:150px;  clear:both;}.clearfix{  display:inline-block;}.clearfix{  content:"";  display:block;  height:0;  clear:both;  visibility: hidden;}

這樣就完成了stricky footer,這種方法也比較推薦,但是加入的代碼有點多,而且改變了HTML結構。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 樟树市| 上杭县| 和硕县| 肃南| 德格县| 盱眙县| 天柱县| 大厂| 盘山县| 兴化市| 丹东市| 邢台市| 襄汾县| 和田市| 达孜县| 封丘县| 萝北县| 米林县| 望江县| 彰化县| 栾川县| 杭州市| 奉贤区| 丰顺县| 尼木县| 蒙阴县| 东兰县| 宝兴县| 鄂州市| 偃师市| 永和县| 巫溪县| 铜梁县| 临潭县| 成武县| 台北市| 房产| 江华| 旺苍县| 山东省| 随州市|