自己平常编码最常用到的三种方法:
方法一:flex布局
< style>
* {
margin: 0 ;
padding: 0 ;
}
. container{
display: flex;
height: 100 vh;
flex- direction: column;
}
. head, . footer {
height: 40 px;
width: 100 % ;
}
. head {
background: red;
}
. footer {
background: goldenrod;
}
. main {
width: 100 % ;
flex: 1 ;
overflow- y: scroll;
}
. main div {
background: #8 bc34a;
height: 200 px;
margin: 20 px auto;
width: 300 px;
}
< / style>
方法二:绝对定位
< style>
* {
margin: 0 ;
padding: 0 ;
}
. head, . footer {
height: 40 px;
width: 100 % ;
position: absolute;
}
. head {
top: 0 ;
background: red;
}
. footer {
background: goldenrod;
bottom: 0 ;
}
. main {
width: 100 % ;
position: absolute;
top: 40 px;
bottom: 40 px;
overflow- y: scroll;
}
. main div {
background: #8 bc34a;
height: 200 px;
margin: 20 px auto;
width: 300 px;
}
< / style>
方法三:函数calc()计算内容高度
< style>
* {
margin: 0 ;
padding: 0 ;
}
. head, . footer {
height: 40 px;
width: 100 % ;
}
. head {
background: red;
}
. footer {
background: goldenrod;
}
. main {
width: 100 % ;
overflow- y: scroll;
height: calc ( 100 vh - 80 px) ;
}
. main div {
background: #8 bc34a;
height: 200 px;
margin: 20 px auto;
width: 300 px;
}
< / style>
html
< div class = "container" >
< div class = "head" > 固定头部< / div>
< div class = "main" >
< div>
main
< / div>
< div>
main
< / div>
< div>
main
< / div>
< / div>
< div class = "footer" > 固定底部< / div>
< / div>