緊貼底部的頁腳
前言
在寫前端頁面時,經常會遇到這種情況:有一個具有塊級樣式的頁腳,當頁面內容足夠長時它一切正常;有的時候,由於頁面長度不夠,頁面底部的頁腳會很尷尬的跑上來;頁腳不能像我們期望中那樣「緊貼」在視口的最底部,而是緊跟在內容的下方。
那麼怎樣做到內容多時頁腳在內容下方,內容少時頁腳「緊貼」在視口底部?我總結了四種方法。
正文
首先我先寫一個簡單的頁面結構,如下:
緊貼底部的頁腳
Header
我是內容
Fotter
再頁面加點公共樣式:
*{ padding:0; margin: 0; } header{ line-height: 80px; } header,footer{ background-color: #ccc; text-align: center; } main{ text-align: center; font-size: 30px; }
接下來我們用四種不同的方法來實現如何讓頁腳緊貼底部。
方法一/* footer的每一級父元素都為100%高 */ html,body { height: 100%; width: 100%; } /* 這裡將頁面內容最小高度設為100%;撐滿屏幕, 然後使用margin-bottom負值把頁腳吸上來, 最後設置底部內邊距用來填充內容過多時被遮擋的頁腳。 */ .wrapper{ height: auto !important; min-height: 100%; height: 100%; margin-bottom: -80px; padding-bottom: 80px; box-sizing: border-box; } footer{ height: 80px; }方法二
方法二和方法一比較類似,只是用偽元素取代了內邊距。代碼如下:
html,body { height: 100%; width: 100%; } .wrapper{ height: auto !important; min-height: 100%; height: 100%; margin-bottom: -80px; } /* 這裡用偽元素取代了方法一中.wrapper的內邊距 */ .wrapper::after{ content: ""; display: block; height: 80px; } footer{ height: 80px; }方法三
方法三藉助視口相關的長度單位以及calc()函數。這兩個東西都只能兼容到IE9。
.wrapper{ min-height:calc(100vh - 80px); } footer{ height: 80px; }
前三種方法都有一定的局限性,都要給頁腳設置固定的高度,不夠靈活。有沒有更加靈活的方法呢?
當然有,那就是我們方法四了。
方法四
方法四用到了 中的布局神器Flexbox。
body { display: flex; flex-flow: column; min-height: 100vh; } .wrapper { flex: 1; }
這樣就可以了!我們只需要四行簡單的代碼,就完美實現了緊貼底部的頁腳。 是不是相當霸氣?
兼容性不是很好(萬惡的IE),但在移動端還是不錯的。可以放心使用。
後記
上面是我總結的四種方法,如果還有什麼更好的方法,歡迎共同探討!
※針對數千萬睡眠疾病潛在患者,兆觀科技推出獲得醫療器械認證的智能檢測設備
※離散/整數組合優化概述及其在AI的應用
※Android增量代碼測試覆蓋率工具
※復盤零售業10年,賣貨的和賣貨的都在拼什麼?
※Industroyer去年襲擊烏克蘭電網?這可能是震網之後最危險的工控惡意程序
TAG:推酷 |
※一條打底褲,緊貼著女性雙腿,勾勒出女性流暢的腿部線條
※搬重物,要緊貼胸部
※熱巴也貼雙眼皮貼?你還不趕緊貼起來!
※堆堆襪不顯瘦了,張佳寧將襪子緊緊貼住腳踝,更能顯瘦10斤!
※徐海喬走路姿勢絕了,右腳緊貼左腳腳後跟,不怕把自己絆倒嗎?
※緊緊貼在身上的緊身褲,是你喜歡的類型嗎?
※流浪貓緊貼地面在爬行,以為被蟲咬在蹭癢,路人細看後眼淚掉落
※金晨的身材真好,穿豹紋薄紗長裙緊貼牆壁,露美背大秀臀部曲線
※雙腿緊貼,用手頂起靠近大腿根部,瑜伽健身女人需要耐心和堅持
※床頭貼一個創可貼的好處,你知道嗎?看完視頻我也趕緊貼一個
※寧靜機場敷面膜戴口罩,面膜緊貼臉紋絲不動 網友:偶像包袱全無
※被貓好友舔毛,土撥鼠緊貼櫃壁銷魂抬頭:舒服 快繼續!
※道士取出幾張符扔到池中,立刻,池水全部乾涸,一條黃龍緊貼著池底,卧在泥沙之中
※南卡藍牙耳機體驗:讓你聽出耳油,左右搖擺耳機也緊緊貼著你!
※小S現身機場狂凹造型,緊貼玻璃與窗戶互動,高踢腿不小心閃了腰
※張雨綺坐姿特別,雙腿緊緊貼在一起,原來是因為這個
※妹子的「金條腿」超厲害,能劈叉,兩腿呈180°緊貼地面絕了!
※我的頭髮少頭髮緊貼頭皮怎麼扎頭髮?
※針鋒相對硬扛!俄軍兩架最先進戰略轟炸機緊貼美國邊界線部署
※「EXO」燦白髮糖:走路緊貼、輕扯衣角、向後伸的大手,甜到齁!