height: 100% 无效是因为父容器高度为 auto,无计算基准;需逐级设置 height: 100% 或改用 min-height: 100vh/100dvh,或通过 absolute、flex: 1、grid 1fr 等替代方案实现撑满。
height: 100% 为什么无效因为 常见场景:想让一个 绝对定位元素通过四边偏移可以强制撑满父容器,但前提是父容器得是「定位上下文」——即 当父容器是 立即学习“前端免费学习笔记(深入)”; Grid 天然适合“划分区域+自动填充”,比百分比或 height: 100% 是相对于**父元素的计算后高度**,而块级元素(如 )默认高度由内容撑开,父容器若没显式设 height 或 min-height,其计算高度就是 auto,此时子元素的 100% 就没参照物,退化为 0。
填满整个视口,但只写 height: 100% 不起作用。
html 和 body 开始逐级设高:html, body {
height: 100%;
margin: 0;
}
.container {
height: 100%;
}min-height: 100vh,vh 单位不依赖父容器高度,直接基于视口100vh 的处理有 bug(地址栏收放时高度会错),必要时改用 100dvh(支持现代浏览器)
position: absolute 撑满的边界条件position 值不能是 static(默认值)。
position: relative、absolute 或 fixed
.full-cover {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}),即使绝对定位也看不见——它仍需要一个有尺寸的包含块
Flex 布局下让子项撑满剩余空间
display: flex,且已有其他子元素时,单靠 flex: 1 就能让某子项占满剩余空间,比手动算高度更健壮。
flex-direction: column(垂直布局)或保持默认 row(水平)flex: 1;
—— 等价于 flex-grow: 1; flex-shrink: 1; flex-basis: 0
flex: 1 1 auto 并配合 width: 100%;反之亦然height: 60px),flex: 1 才能正确分配剩余空间;否则所有子项都 flex: 1 会均分Grid 布局中用
1fr 实现自适应撑满vh 更可控,尤其适合多栏或头部/主体/底部结构。
实际项目里最常踩的坑不是写法不对,而是忘了检查父链上任意一层是否隐式成了 display: grid 和明确的轨道定义,例如:.layout {
display: grid;
grid-template-rows: 60px 1fr 40px;
height: 100vh;
}1fr 表示“剩余可用空间的一份”,多个 1fr 会等分;2fr 则占两份
元素单独设高,Grid 自动按轨道分配尺寸-ms-grid),如需兼容得降级处理height: auto,或者在移动端漏掉了 viewport meta 标签导致 vh 计算失准。
# css
# html
# 浏览器
# safari
# ai
# ios
# 排列
# html元素
# 绝对定位
# 为什么
# Static
# auto
# display
# position
# viewport
# column
# flex
# bug
# 成了
# 多个
# 已有
# 就没
# 能让
# 只想
# 想让
# 如需
# 相对于
# 也看
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
网络优化76771 】
【
技术知识130152 】
【
IDC云计算60162 】
【
营销推广131313 】
【
AI优化88182 】
【
百度推广37138 】
【
网站推荐60173 】
【
精选阅读31334 】
相关推荐:
Windows10无法连接到Internet_Win10网络重置命令详解
Linux怎么查找死循环进程_Linux系统负载分析与进程彻底结束【教程】
如何在Golang中写入JSON文件_保存结构体数据到文件
如何使用Golang sort排序切片_Golang sort排序方法示例
Mac的Time Machine怎么用_Mac系统备份与数据恢复【完整指南】
PHP 中如何在函数内持久修改引用变量所指向的目标
Mac如何设置动态壁纸?(让桌面动起来)
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
Win11怎么关闭搜索历史_Win11清除设备上的搜索历史记录
C#如何在一个XML文件中查找并替换文本内容
Win11如何设置文件权限 Win11 NTFS文件夹所有权与安全设置【高级】
Win11任务栏怎么调到左边_Win11开始菜单居左设置教程【步骤】
Win11怎么查看电脑配置_Win11硬件配置详细查询方法【详解】
Windows Defender扫描失败怎么办_安全模块损坏修复方式
Windows系统时间服务错误_W32Time服务修复与同步教学
Win11怎么制作U盘启动盘_Win11原版系统安装盘制作【详解】
如何使用Golang实现容器自动化运维_Golang Docker运维管理方法
Win11如何更改任务栏颜色 Win11自定义任务栏背景色【美化】
Bpmn 2.0的XML文件怎么画流程图
Win11如何更改用户账户文件夹名称 Win11修改C:Users用户名【终极教程】
如何在Golang中使用内置函数_Golanglen append make等使用技巧
Python爬虫项目实战教程_Scrapy抓取与存储数据实例
Win11怎么设置闹钟_Windows 11时钟应用闹钟设置指南【详解】
Python网络超时处理_健壮性设计说明【指导】
海外搜索引擎推广效果怎么样,怎么分析效果!
新手学PHP架构总混淆概念咋办_重点梳理【教程】
c++如何实现多态性_c++ 虚函数表原理与动态绑定机制【教程】
Python脚本参数接收_sys与argparse解析【指导】
Python对象生命周期管理_创建销毁解析【教程】
Win11怎么检查TPM2.0模块_Windows11受信任平台模块开启状态查询
Windows10电脑怎么设置虚拟内存_Win10高级系统设置性能
php怎么下载安装后无法解析php文件_服务器配置检查【解答】
如何使用Golang构建基础消息队列模拟_Golang消息发送与消费实现方法
Windows10电脑怎么连接蓝牙设备_Win10蓝牙配对失败解决方法
Mac电脑如何恢复出厂设置_Mac抹掉数据并重装系统【安全指南】
Win11怎样彻底卸载自带应用_Win11彻底卸载自带应用方法【步骤】
如何在 Go 应用中实现自动错误恢复与进程重启机制
c++如何连接Redis c++ hiredis库使用教程【指南】
如何在Golang中使用log包输出不同级别日志_Golang log日志管理与分类
如何使用正则表达式批量替换重复的星号-短横模式为固定字符串
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
Win11如何设置鼠标灵敏度_Win11鼠标灵敏度调整教程【攻略】
如何使用Golang实现微服务事件驱动_使用消息总线解耦服务
php8.4如何调用com组件_php8.4windows下com操作指南【教程】
Win11如何关闭游戏模式 Win11禁用Xbox Game Bar录制【优化】
Mac如何创建和管理多个桌面空间_Mac高效多任务处理【技巧】
Win10怎么更改用户名 Win10修改账户名称操作教程
如何在 Laravel 中通过嵌套关联关系进行 orderBy 排序
C++如何编写函数模板?(泛型编程入门)
2026-01-03
致胜网络推广营销网专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。