详解八种方法实现CSS页面底部固定
时间:2019-12-07来源:系统城作者:电脑系统城
当我们在写页面时经常会遇到页面内容少的时候,footer会戳在页面中间或什么?反正就是不在最底部显示,反正就是很难看,下面要讲的布局就是解决如何使元素粘住浏览器底部,
方法一:footer高度固定+绝对定位
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上的下边距增加一个负值等于底部高度
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设为负数
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;
- }
查看效果
方法四: 通过设置flex,将footer的margin-top设置为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;
- }
-
查看效果
方法五: 通过函数calc()计算内容的高度
html代码
- <header>Header</header>
- <main>Content</main>
- <footer>Footer</footer>
CSS代码
- main{
- min-height: calc(100vh - 200px); /* 这个200px是header和footer的高度 */
- }
- header,footer{
- height: 100px;
- line-height: 100px;
- }
查看效果
方法六: 通过设置flexbox,将主体main设置为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%;
- }
查看效果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关信息
-
纯CSS实现具有渐变和圆角的彩色边框
传统的灰色纯色边框你是不是觉得太难看了?你是否想设计一些精美的边框,例如渐变、圆角、彩色的边框?那你来对地方了,本文将介绍如何用纯CSS就能实现具有渐变和圆角的彩色边框...
2023-03-06
-
css圆角三角形的实现代码
今天给大家带来一个如何实现圆角三角形的方案,这个方案虽然可以实现,但是也是借助拼凑等方式来实现的,假如想一个div来实现圆角三角形,还是比较困难的。之前文章讲了如何实现对话框,里面介绍了三角形的实现方式。今天讲讲...
2023-03-06