新闻中心

css Grid子元素自动占满剩余空间

2025-10-23
浏览次数:
返回列表
使用fr单位和stretch对齐可让Grid子元素占满剩余空间:1. 用fr按比例分配可用空间,如grid-template-columns:200px 1fr;2. 设置容器高度并让子元素height:100%或align-self:stretch;3. 多列时用多个fr平分剩余空间,如1fr 2fr按1:2分配;4. 防内容溢出需设min-width:0和overflow:hidden。

css grid子元素自动占满剩余空间

在使用 CSS Grid 布局时,让子元素自动占满容器的剩余空间,关键在于正确设置网格轨道(grid tracks)和子元素的尺寸行为。下面介绍几种常见且有效的方法。

1. 使用 fr 单位分配剩余空间

Grid 中的 fr 单位代表“自由空间比例单位”,它会根据可用空间自动分配尺寸。

例如,将一个容器分为两列,第一列固定宽度,第二列占满剩余空间:

.container {
  display: grid;
  grid-template-columns: 200px 1fr; /* 第一列200px,第二列占剩余空间 */
}

如果想让某一行或列中的某个子元素跨多个轨道并撑满可用空间,也可以通过设置 grid-columngrid-row 实现。

2. 子元素设置 height: 100%stretch

默认情况下,Grid 子元素的内容区域不会自动拉伸填满整个网格单元格的高度。为了让子元素在纵向上占满剩余空间,可以:

  • 确保父容器有明确高度
  • 设置子元素 align-self: stretch(默认值就是 stretch)
  • 必要时给子元素设置 height: 100%

.container {
  display: grid;
  height: 100vh; / 提供参考高度 /
  grid-template-rows: 1fr;
}
.item {
  height: 100%; / 填满所在行的高度 /
}

3. 多个子元素平分或按需占用剩余空间

使用多个 fr 单位可实现灵活分配。比如三列布局,中间自适应,两边固定:

MarsCode MarsCode

字节跳动旗下的免费AI编程工具

MarsCode 339 查看详情 MarsCode .container {
  display: grid;
  grid-template-columns: 100px 1fr 100px;
}

此时中间列会自动占据左右固定列之外的所有剩余空间。

如果有多个自适应列:

grid-template-columns: 1fr 2fr; /* 按 1:2 分配剩余空间 */

4. 避免内容撑破布局

有时子元素内部内容过多会导致无法收缩。可通过以下方式控制:

  • 设置 min-width: 0overflow: hidden
  • 避免使用 white-space: nowrap 导致文本不换行

.item {
  min-width: 0;
  overflow: hidden;
}

基本上就这些。合理利用 fr 单位和容器高度控制,就能让 Grid 子元素自然占满剩余空间,无需 J*aScript 计算。关键是理解 Grid 的空间分配机制和子元素默认对齐行为。不复杂但容易忽略细节。

以上就是css Grid子元素自动占满剩余空间的详细内容,更多请关注其它相关文章!


# 可以通过  # 信阳网站建设费用明细  # 名优网站建设口碑推荐  # 花店网站推广策划  # 上海网站建站建设服务  # 设计型网站建设服务  # 巢湖网站优化推广  # 如何避免推广营销  # 正安新闻营销推广  # seo从零开始学会推广  # 网站建设和推广方案  # 能让  # 中文网  # css  # 相关文章  # 选择器  # 两种类型  # 自适应  # 中不  # 占满  # 多个  # overflow  # ai  # java  # javascript 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 使用J*aScript检测输入元素是否包含在特定类中  2025AO3夸克浏览器通道_AO3手机HTTPS安全入口分享  谷歌推RCS信息存档功能:公司可监控员工私密信息!  html两个JS只运行一个怎么办_让双JS在html中都运行方法【技巧】  PHP中高效并行检查多链接状态的教程  手机屏幕碎了但能正常使用怎么办 手机外屏碎裂的修复建议  整合Supabase认证与Django模型:跨模式迁移的解决方案  poki免费入口快捷访问 poki人气小游戏直接玩站点  qq游戏网页版直接玩_qq游戏免下载快速入口  漫蛙manwa官网登录界面_漫蛙漫画网页版主站入口  QQ邮箱网页版入口 QQ邮箱官方邮箱登录通道  UC浏览器官网入口2025最新 UC浏览器网页版正式地址  机器学习中对数变换预测结果的反向还原  新手怎么开始学化妆 零基础化妆入门教程  如何使用spryker/configurable-bundles-products-resource-relationship模块解决复杂产品捆绑关系难题  邮编格式怎么匹配地址_根据邮编格式快速匹配详细地址的技巧  AO3最新官网入口公告_2025AO3镜像站实时查询方法  Win11网速慢怎么解决 Win11网络设置优化解除限速  Fabric Mod开发:在1.19.3+版本中正确添加自定义物品并管理物品组  漫蛙2在线漫画入口 漫蛙正版漫画网页版直达  qq游戏大厅官方下载_qq游戏免费下载安装入口  正确连接J*aScript到HTML实现可点击图片与自定义事件处理  J*aScript打印功能_j*ascript输出控制  JUnit5/Mockito:优雅测试内部依赖与异常处理的实践  虚幻5科幻题材ARPG大作遭取消!本是《奇异人生》厂商新作  Sublime Text怎么显示空格和制表符_Sublime显示不可见字符设置  一加 Nord 5 隐私权限异常_一加 Nord 5 系统安全优化  React Router 嵌套组件中 URL 重定向问题的解决方案  Safari浏览器输入栏卡顿如何解决 Safari搜索建议与缓存清理  飞书妙记怎样用语音转文字速记_飞书妙记用语音转文字速记【速记方法】  微信网页版官方入口直达 微信网页版网页版登录使用方法  mysql密码锁定怎么解锁_mysql密码锁定解锁后修改密码步骤  写好的html代码怎么运行出来_运行写好的html代码方法【教程】  12306选座怎么选到临时改签座_12306改签选座策略与步骤  Win11怎么设置开机NumLock亮 Win11修改注册表InitialKeyboardIndicators值  微博网页版怎么开启两步验证_微博网页版账号安全两步验证设置方法  J*a编写用户注册与登录功能_掌握字符串与验证逻辑  如何将一个大型PHP应用拆分为多个Composer包_微服务与模块化架构的Composer实践  sublime怎么预览Markdown渲染效果_Markdown Preview插件 for sublime教程  文心一言怎样用批量生成做多版文案_文心一言用批量生成做多版文案【批量创作】  向日葵客户端怎么进行远程CentOS控制_向日葵客户端远程CentOS控制操作教程  谷歌google账号怎么注册账号 谷歌账号注册官方流程  Lar*el如何正确地在控制器和模型之间分配逻辑_Lar*el代码职责分离与架构建议  qq邮箱发邮件给国外发不出去_QQ邮箱国际邮件发送失败原因与解决  谷歌浏览器无痕模式怎么开 Chrome开启无痕浏览设置方法【教程】  Win11怎么设置鼠标指针速度_Win11提高鼠标指针精确度选项  sublime侧边栏怎么增强功能_SideBarEnhancements for sublime安装与配置  如何仅使用CSS更改登录界面背景图像图标的颜色  1688商家版怎样分析买家画像精准供货_1688商家版分析买家画像精准供货【供货策略】  AO3最新镜像入口 Archive of Our Own官方平台访问 

搜索