詳解八種方法實(shí)現(xiàn)CSS頁面底部固定
當(dāng)我們?cè)趯戫撁鏁r(shí)經(jīng)常會(huì)遇到頁面內(nèi)容少的時(shí)候,footer會(huì)戳在頁面中間或什么?反正就是不在最底部顯示,反正就是很難看,下面要講的布局就是解決如何使元素粘住瀏覽器底部,
方法一:footer高度固定+絕對(duì)定位
html
<div class="dui-container"> <header>Header</header> <main>Content</main> <footer>Footer</footer> </div>
CSS
.dui-container{
position: relative;
min-height: 100%;
}
main {
padding-bottom: 100px;
}
header, footer{
line-height: 100px;
height: 100px;
}
footer{
width: 100%;
position: absolute;
bottom: 0
}
方法二:在主體content上的下邊距增加一個(gè)負(fù)值等于底部高度
html
<header>Header</header> <main>Content</main> <footer>Footer</footer>
CSS
html, body {
height: 100%;
}
main {
min-height: 100%;
padding-top: 100px;
padding-bottom: 100px;
margin-top: -100px;
margin-bottom: -100px;
}
header, footer{
line-height: 100px;
height: 100px;
}
方法三:將頁腳的margin-top設(shè)為負(fù)數(shù)
html
<header>Header</header> <main>Content</main> <footer>Footer</footer>
CSS
main {
min-height: 100%;
padding-top: 100px;
padding-bottom: 100px;
}
header, footer{
line-height: 100px;
height: 100px;
}
header{
margin-bottom: -100px;
}
footer{
margin-top: -100px;
}
方法四: 通過設(shè)置flex,將footer的margin-top設(shè)置為auto
html
<header>Header</header> <main>Content</main> <footer>Footer</footer>
CSS
body{
display: flex;
min-height: 100vh;
flex-direction: column;
}
header,footer{
line-height: 100px;
height: 100px;
}
footer{
margin-top: auto;
}
方法五: 通過函數(shù)calc()計(jì)算內(nèi)容的高度
html代碼
<header>Header</header> <main>Content</main> <footer>Footer</footer>
CSS代碼
main{
min-height: calc(100vh - 200px); /* 這個(gè)200px是header和footer的高度 */
}
header,footer{
height: 100px;
line-height: 100px;
}
方法六: 通過設(shè)置flexbox,將主體main設(shè)置為flex
html
<header>Header</header> <main>Content</main> <footer>Footer</footer>
CSS代碼
body{
display: flex;
min-height: 100vh;
flex-direction: column;
}
main{
flex: 1
}
方法七: 使用grid布局
Html代碼
<header>Header</header> <main>Content</main> <footer>Footer</footer>
CSS代碼
html {
height: 100%;
}
body {
min-height: 100%;
display: grid;
grid-template-rows: auto 1fr auto;
}
.footer {
grid-row-start: 3;
grid-row-end: 4;
}
方法八: display-*
html
<header>Header</header> <main>Content</main> <footer>Footer</footer>
CSS
body {
min-height: 100%;
display: table;
width: 100%;
}
main {
display: table-row;
height: 100%;
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
css實(shí)現(xiàn)背景漸變與底部固定的藍(lán)天白云示例
漸變背景的的設(shè)定:通過定義body實(shí)現(xiàn);動(dòng)態(tài)在低端的白云:設(shè)定了body_foot1和body_foot1中的循環(huán)圖片顯示定義,以及div動(dòng)態(tài)底端的設(shè)定,具體實(shí)現(xiàn)如下,感興趣的朋友可以參2013-06-24div footer標(biāo)簽css實(shí)現(xiàn)位于頁面底部固定
Web頁面的“footer”部分隨著飄上來,處在頁面的半腰中間,給視覺效果帶來極大的影響,讓你的頁面看上去很不好看,特別是現(xiàn)在寬屏越來越多,這種現(xiàn)象更是常見,本文將介紹兩2012-12-02

