兩種方式實現footer固定在頁面最下方佈局
第一種方式設定html、body高度100%,footer相對body定位:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
html {
height: 100%;
}
body {
margin: 0;
padding: 0;
min-height: 100%;
position: relative;
background-color: #ccc;
}
.content {
height: 200px;
/*height: 2000px;*/
}
.footer {
position: absolute;
left: 0;
right: 0;
bottom: 0;
background-color: orange;
height: 50px;
line-height: 50px;
}
</style>
</head>
<body>
<div class="content">
</div>
<div class="footer">
footer
</div>
</body>
</html>
第二種方式用flex佈局:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{
padding: 0;margin: 0;
}
html{
height: 100%;
}
body{
display: flex;
flex-direction: column;
height: 100%;
}
.content{
flex: 1;
}
header{
height: 50px;
background-color: green;
}
footer{
height: 50px;
background-color: yellow;
}
.content{
overflow: auto;
}
</style>
</head>
<body>
<header></header>
<main class="content">
content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>content<br>
content</main>
<footer></footer>
</body>
</html>
完整相容性:ios 4+、android 2.3+、winphone8+:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>flex上下固定中間滾動佈局</title>
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport">
<style type="text/css">
*{padding: 0;margin: 0;}
html,body{height: 100%}
.wrap{width: 100%;height: 100%;}
.header,.footer{height:40px;line-height:40px;background-color:#D8D8D8;}
.main{overflow:auto;-webkit-overflow-scrolling: touch;}
/* ============================================================
flex:定義佈局為盒模型
flex-v:盒模型垂直佈局
flex-1:子元素佔據剩餘的空間
flex-align-center:子元素垂直居中
flex-pack-center:子元素水平居中
flex-pack-justify:子元素兩端對齊
============================================================ */
.flex{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}
.flex-v{-webkit-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}
.flex-1{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;}
.flex-align-center{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;}
.flex-pack-center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}
.flex-pack-justify{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}
p{
background-color:yellow;
</style>
</head>
<body>
<div class="wrap flex flex-v">
<div class="header">我想要它固定頂部</div>
<div class="main flex-1">
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
<p>高度自動適應</p>
</div>
<div class="footer">我想要它固定底部</div>
</div>
</body>
</html>