Grid 网格布局中显式网格和隐式网格怎么配合

千墨同学_5273

千墨同学_5273

2026-09-05

920人浏览

原创

显式网格与隐式网格分工协作:前者用grid-template-定义主干结构,后者用grid-auto-动态兜底补空间,并通过grid-auto-flow控制填充逻辑。

grid 网格布局中显式网格和隐式网格怎么配合

显式网格和隐式网格不是互斥关系,而是分工协作:显式网格负责“主干结构”,隐式网格负责“动态兜底”。关键在于用好 grid-template-* 和 grid-auto-* 这两组属性的配合。

显式网格定骨架,隐式网格补空间

显式网格由 grid-template-columns 和 grid-template-rows 明确声明,决定容器初始有多少列、多少行,以及它们的尺寸。比如:

  • grid-template-columns: 1fr 2fr; —— 固定两列,比例分配宽度
  • grid-template-rows: 80px auto; —— 固定两行,首行固定高,次行自适应

当子元素数量超过这两条规则能容纳的格子数(例如定义了 2×2 显式网格,却放了 6 个子项),超出的部分就会触发隐式网格:浏览器自动创建额外的行或列来安放这些项。

用 grid-auto-rows/columns 控制隐式轨道大小

隐式轨道默认尺寸是 auto,即按内容撑开——这容易导致高度不一致、布局松散。应主动设置 grid-auto-rows 或 grid-auto-columns 来统一风格:

  • grid-auto-rows: 120px; —— 所有隐式生成的行都固定为 120px 高
  • grid-auto-rows: minmax(100px, auto); —— 隐式行最小 100px,内容多时可弹性增高
  • grid-auto-columns: 1fr; —— 隐式列按剩余空间等分(适合横向滚动或动态列场景)

注意:grid-auto-rows 只影响隐式行,对显式定义的行无作用;同理,grid-auto-columns 不改变 grid-template-columns 已设的列。

配合 grid-auto-flow 实现填充逻辑

grid-auto-flow 决定新项如何填入空位,直接影响显隐网格的衔接方式:

响应式烟草公司HTML5网站模板
响应式烟草公司HTML5网站模板

响应式烟草公司HTML5网站模板是一款适合提供各种不同种类的优质烟草公司宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。

下载
  • grid-auto-flow: row;(默认)—— 优先填满当前行,再新建隐式行
  • grid-auto-flow: column; —— 优先填满当前列,再新建隐式列(适合瀑布流式布局)
  • grid-auto-flow: row dense; —— 启用“密集填充”,允许后出现的小项回填前面显式网格留下的空洞,提升空间利用率

例如,一个显式 3 列网格中,若第 1 行第 2 格被一个跨 2 列的项占据,留下第 1 行第 3 格为空,dense 模式会让后续小项优先塞进这个空位,而非一律往后追加隐式行。

响应式场景下推荐 auto-fit + minmax 组合

在卡片列表、图库等不确定数量的布局中,显隐配合最实用的写法是:

grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)));

这里 auto-fit 属于显式声明,但它的行为依赖隐式网格机制:浏览器先尝试在显式轨道中尽可能多铺列,不足时自动收缩列宽至 minmax() 下限;空间富余时则拉伸到 1fr。实际渲染中,列数会随容器宽度动态增减,背后就是显式语法触发隐式轨道的智能生成与回收。

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2683

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

5843

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

6830

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

6538

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

943

5

css3教程
css3教程

php中文网为大家提供css3教程合集,CSS3的语法是建立在CSS原先版本基础上的,它允许使用者在标签中指定特定的HTML元素而不必使用多余的class、ID或JavaScript。php中文网还为大家带来css3的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

2020

10

有哪些css3渐变属性
有哪些css3渐变属性

css3中渐变属性有linear-gradient、radial-gradient、conic-gradient、repeating-linear-gradient、repeating-radial-gradient等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.01

3126

5

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
HTML5/CSS3/JavaScript/ES6入门课程
HTML5/CSS3/JavaScript/ES6入门课程

共102课时 | 10.9万人学习

HTML+CSS基础与实战
HTML+CSS基础与实战

共132课时 | 19.4万人学习

前端开发(基础+实战项目合集)
前端开发(基础+实战项目合集)

共60课时 | 6.5万人学习