css头部中间底部结构怎么实现_通过多行区域进行划分
发布时间 - 2025-12-25 00:00:00 点击率:次推荐用 Flexbox 或 Grid 实现“头部—中间—底部”三段式布局:Flexbox 通过 flex-direction: column 与 flex: 0 0 60px、flex: 1 控制高度;Grid 用 grid-template-rows: auto 1fr auto 更简洁;需重置 body margin、防溢出、避免 height 冲突。
用 CSS 实现“头部—中间—底部”三段式布局,核心是把页面划分为三个垂直方向的区域,常见且推荐的方式是使用 Flexbox 或 Grid。多行区域划分,本质上就是将容器沿主轴(通常是列方向)分成三行:header、main、footer。
用 Flexbox 实现(推荐,兼容性好、逻辑清晰)
给 body 或一个外层容器设置 display: flex 和 flex-direction: column,再配合 flex 属性控制各区域占位:
- 外层容器设为
min-height: 100vh,确保撑满视口高度 - header 和 footer 设固定高度(如
height: 60px)或用flex: 0 0 auto防止伸缩 - main 区域设
flex: 1,自动填满剩余空间
示例代码:
html, body { margin: 0; height: 100%; }
.layout {
display: flex;
flex-direction: column;
min-height: 100vh;
}
header, footer {
flex: 0 0 60px;
background: #eee;
}
main {
flex: 1;
overflow-y: auto;
}
用 CSS Grid 实现(语义更强、更简洁)
直接定义三行轨道,用 grid-template-rows 明确划分:
-
auto让 header/footer 自适应内容高度 -
1fr让 main 占满剩余空间(等价于 flex: 1) - 也可写成
60px 1fr 60px固定头尾高度
示例代码:
.layout {
display: grid;
grid-template-rows: auto 1fr auto;
min-height: 100vh;
}
避免踩坑的关键细节
- 记得重置
body的默认 margin,否则顶部可能留白 - 若 main 内容超长,需加
overflow-y: auto防止整体溢出 - 不要对 header/main/footer 同时设
height: 100%,会导致高度冲突 - 在移动端,可结合
viewport设置和min-height: -webkit-fill-available增强兼容性
响应式微调建议
小屏幕下可考虑:
- header 和 footer 缩小高度(如用
clamp(48px, 5vh, 60px)) - main 区域加
padding避免内容贴边 - 用
@media调整 grid 行高或 flex 分配比例
# css
# html
# ai
# overflow
# webkit
# auto
# display
# margin
# padding
# viewport
# column
# flex
# 设为
# 也可
# 要对
# 更强
# 本质上
# 或用
# 划分为
# 性好
# 自适应
# 如用
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
如何选择PHP开源工具快速搭建网站?
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
进行网站优化必须要坚持的四大原则
用yum安装MySQLdb模块的步骤方法
Laravel模型事件有哪些_Laravel Model Event生命周期详解
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
详解CentOS6.5 安装 MySQL5.1.71的方法
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
Laravel集合Collection怎么用_Laravel集合常用函数详解
焦点电影公司作品,电影焦点结局是什么?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
如何在阿里云ECS服务器部署织梦CMS网站?
JavaScript数据类型有哪些_如何准确判断一个变量的类型
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
Swift开发中switch语句值绑定模式
如何在橙子建站上传落地页?操作指南详解
,怎么在广州志愿者网站注册?
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
Laravel如何与Pusher实现实时通信?(WebSocket示例)
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
Laravel distinct去重查询_Laravel Eloquent去重方法
Linux系统命令中screen命令详解
JS实现鼠标移上去显示图片或微信二维码
浅谈Javascript中的Label语句
如何在万网利用已有域名快速建站?
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
如何在新浪SAE免费搭建个人博客?
利用vue写todolist单页应用
jquery插件bootstrapValidator表单验证详解
python中快速进行多个字符替换的方法小结
通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】
如何在云主机上快速搭建多站点网站?
zabbix利用python脚本发送报警邮件的方法
动图在线制作网站有哪些,滑动动图图集怎么做?
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
如何快速搭建高效简练网站?
html如何与html链接_实现多个HTML页面互相链接【互相】
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
如何利用DOS批处理实现定时关机操作详解
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
LinuxCD持续部署教程_自动发布与回滚机制


