CSS页面底部固定的6种方法,你确定不想学?

当我们在写页面时经常会遇到页面内容少的时候,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}

自己是一个五年的前端工程师

这里推荐一下我的前端学习交流群:731771211,里面都是学习前端的从最基础的HTML+CSS+JS【炫酷特效,游戏,插件封装,设计模式】到移动端HTML5的项目实战的学习资料都有整理,送给每一位前端小伙伴。不定时更新技术,与企业需求同步。好友都在里面交流,每天都会有大牛定时讲解前端技术!

点击:加入

相关文章