页面内容不足一屏时显示在这一屏的最下方

本文介绍了两种方法实现当页面内容不足一屏时,footer始终显示在屏幕底部。方法一通过设置footer的父级元素最小高度和footer的绝对定位;方法二利用html和body的100%高度,结合header和footer的margin负值来实现。这两种方法兼顾了content不满一屏和超过一屏时footer的位置需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时候,当页面内容较短,撑不开浏览器高度,但是又希望footer能在窗口最低端。

思路一:将footer的父级元素的最小高度设置为100%,并相对定位;父级元素内要预留footer的高度;并将footer的绝对定位(absolute),置底(bottom:0);

HTML

<div id="container">
    <div id="header">header</div>
    <div id="body">body</div>
    <div id="footer">footer</div>
</div>

CSS

html, body { margin: 0; padding: 0; height: 100%; }
#container { min-height: 100%; position: relative; }
#header { background: #ff0; padding: 10px; }
#body { padding-top: 10px; padding-bottom: 40px; }
#footer { position: absolute; bottom: 0; width: 100%; height: 40px; background: #6cf; }

效果图:
这里写图片描述

思路二:将html和body设置为100%;然后就可以在100%的高度中通过padding给header、footer空出两部分空白区域,再通过给header设置等同于自身高度的负值margin-bottom,给footer设置等同于自身高度的负值margin-top,就完美的把两者移回可见区域,如此以来,既满足content部分不满一屏时footer在底部,又满足了,超过一屏时footer被撑开的需求。

HTML:

<body>
    <header>
        header
    </header>
    <section class="content">
        contetn
    </section>
    <footer class="footer">
        footer
    </footer>
</body>

CSS:

html, body { height: 100%; }
header { height: 60px; margin-bottom: -60px; background: #1381cc; color: #FFF; position: relative; }
section { background: #fff; min-height: 100%; padding: 60px 0 60px; }
footer { height: 60px; margin-top: -60px; background: #0c4367; color: #FFF; }

效果图:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值