1. 使用絕對定位css
對這三欄都實現絕對定位,其中中間絕對定位的位置是上下兩欄的高度,內容超出則中間部分出現流動條;html
代碼實現:佈局
<!DOCTYPE html>flex
<html lang="en">spa
<head>htm
<meta charset="UTF-8">it
<title>絕對定位實現</title>io
<style type="text/css">class
html,body,div{meta
padding:0;
margin:0;
}
.header{
position:absolute;
top:0; /*頭部絕對定位位置*/
height:100px;
width:100%;
background: red;
}
.footer{
position:absolute;
bottom:0;/*尾部絕對定位位置*/
height:100px;
width:100%;
background:yellow;
}
.main{
position:absolute;
width:100%;
top:100px; /*中間自適應部分絕對定位位置,top是頭部的高度*/
bottom:100px; /*bottom是尾部的高度*/
background: #ccc;
overflow:auto; /*超出的部分,滾動條顯示*/
}
</style>
</head>
<body>
<div class="container">
<div class="header">我是頭部</div>
<div class="main">
我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>
我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>
我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>
我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>我是中間自適應<br>
</div>
<div class="footer">我是尾部</div>
</div>
</body>
</html>
2. 使用flex佈局
還可使用flex佈局實現這一佈局,將flex-direction設置爲column,定義排列方向爲豎排,還需注意的是要定義頁面的總體高度爲100%
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>flex佈局實現</title>
<style type="text/css">
html,body{
padding:0;
margin:0;
height:100%; /*定義頁面總體高度爲100%,重要*/
}
.container{
display:flex; /*父元素的定義爲flex佈局*/
height:100%; /*這裏也要定義,重要*/
width:100%;
flex-direction: column; /*定義排列方向爲豎排*/
}
.header{
height:100px; /*頭部固定高度*/
background: red;
}
.footer{
height:100px; /*尾部固定高度*/
background: yellow;
}
.main{
background: #ccc;
flex:1; /*中間分配剩下的全部空間*/
overflow:auto;
}
</style>
</head>
<body>
<div class="container">
<div class="header">我是頭部</div>
<div class="main">
我是flex佈局實現的中間自適應<br>我是flex佈局實現的中間自適應<br>
我是flex佈局實現的中間自適應<br>我是flex佈局實現的中間自適應<br>
我是flex佈局實現的中間自適應<br>我是flex佈局實現的中間自適應<br>
我是flex佈局實現的中間自適應<br>我是flex佈局實現的中間自適應<br>
我是flex佈局實現的中間自適應<br>我是flex佈局實現的中間自適應<br>
我是flex佈局實現的中間自適應<br>我是flex佈局實現的中間自適應<br>
我是flex佈局實現的中間自適應<br>我是flex佈局實現的中間自適應<br>
我是flex佈局實現的中間自適應<br>我是flex佈局實現的中間自適應<br>
我是flex佈局實現的中間自適應<br>我是flex佈局實現的中間自適應<br>
我是flex佈局實現的中間自適應<br>我是flex佈局實現的中間自適應<br>
</div>
<div class="footer">我是尾部</div>
</div>
</body>
</html>