用 min-height 配合 Flex 布局是最稳妥解法:设 html/body 为 height: 100%,body 为 display: flex; flex-direction: column;,主体内容 flex: 1,footer 自然吸底。

footer贴不上底,通常是因为主体内容太短,页面高度没撑满视口,导致footer“悬浮”在半空。用 min-height 配合 Flex 布局是最稳妥、语义清晰的初级解法。
让 body 成为 Flex 容器
给 body 设置 display: flex; flex-direction: column;,这样整个页面就变成一个垂直主轴的弹性盒子,便于控制 footer 的定位。
- 记得移除
body默认的 margin(比如margin: 0;),避免意外留白 - 给
html和body都设height: 100%;,确保它们能继承视口高度
主体内容用 flex: 1 占满剩余空间
把主要内容区域(比如 footer 不需要特别定位,只要不写 立即学习“前端免费学习笔记(深入)”; 基本上就这些。不用 JS、不依赖内容长度、兼容性好,是 CSS 初级项目里最推荐的 footer 吸底方案。 或 flex: 1;,它就会自动拉伸,填满 header 和 footer 之间的所有空白。
min-height: calc(100vh - header高度 - footer高度),那样难维护又容易出错flex: 1 也会强制撑开,footer 自然到底部footer 保持自然流式或固定高度
position: absolute/fixed,它就会乖乖待在 flex 主轴末端。
margin-top: auto; 到 footer 上(在 flex 布局中效果等同于“推到底”)










