今天小编跟大家讲解下有关详解八种方法实现CSS页面底部固定 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关详解八种方法实现CSS页面底部固定 的相关资料,希望小伙伴们看了有所帮助。
当我们在写页面时经常会遇到页面内容少的时候 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); }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%;}查看效果
以上就是本文的全部内容 希望对大家的学习有所帮助 也希望大家多多支持爱蒂网。
来源:爱蒂网