CSS粘住固定底部的5種方法

本文主要介紹一個(gè)Footer元素如何粘住底部,使其無論內(nèi)容多或者少,F(xiàn)ooter元素始終緊靠在瀏覽器的底部。我們知道,當(dāng)內(nèi)容足夠多可以撐開底部到達(dá)瀏覽器的底部,如果內(nèi)容不夠多,不足以撐開元素到達(dá)瀏覽器的底部時(shí),下面要講的布局就是解決如何使元素粘住瀏覽器底部。需求看下圖:

全局增加一個(gè)負(fù)值下邊距等于底部高度

有一個(gè)全局的元素包含除了底部之外的所有內(nèi)容。它有一個(gè)負(fù)值下邊距等于底部的高度。

HTML

content

CSS

html,body{height:100%;margin:0;

}

.wrapper{min-height:100%;/*?Equal?to?height?of?footer?*/

/*?But?also?accounting?for?potential?margin-bottom?of?last?child?*/

margin-bottom:?-50px;

}

.footer,

.push{height:50px;

}

演示

這個(gè)代碼需要一個(gè)額外的元素.push等于底部的高度,來防止內(nèi)容覆蓋到底部的元素。這個(gè)push元素是智能的,它并沒有占用到底部的利用,而是通過全局加了一個(gè)負(fù)邊距來填充。

順便給大家推薦一個(gè)裙,它的前面是 537,中間是631,最后就是 707。想要學(xué)習(xí)前端的小伙伴可以加入我們一起學(xué)習(xí),互相幫助。群里每天晚上都有大神免費(fèi)直播上課,如果不是想學(xué)習(xí)的小伙伴就不要加啦。(537631707)

底部元素增加負(fù)值上邊

雖然這個(gè)代碼減少了一個(gè).push的元素,但還是需要增加多一層的元素包裹內(nèi)容,并給他一個(gè)內(nèi)邊距使其等于底部的高度,防止內(nèi)容覆蓋到底部的內(nèi)容。

HTML

content

CSS

html,body{height:100%;margin:0;

}

.content{min-height:100%;

}

.content-inside{padding:20px;padding-bottom:50px;

}

.footer{height:50px;margin-top:?-50px;

}

演示

使用calc()計(jì)算內(nèi)容的高度

HTML

content

CSS

.content{min-height:calc(100vh?-?70px);

}

.footer{height:50px;

}

演示

給70px而不是50px是為了為了跟底部隔開20px,防止緊靠在一起。

使用flexbox

HTML

content

CSS

html{height:100%;

}body{min-height:100%;display:?flex;flex-direction:?column;

}

.content{flex:1;

}

演示

使用grid布局

HTML

content

CSS

html{height:100%;

}body{min-height:100%;display:?grid;grid-template-rows:1fr?auto;

}

.footer{grid-row-start:2;grid-row-end:3;

}

演示

grid早于flexbox出現(xiàn),但并沒有flexbox被廣泛支持,你可能在chrome? Canary或者Firefox開發(fā)版上才可以看見效果

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容