如何使用CSS Grid?

使用 CSS Grid 核心分两步:先给父容器定义网格规则,再给子项目设置位置或尺寸,3行代码即可实现基础布局。

  1. 定义网格容器(父元素)

给父容器添加 display: grid ,并通过以下属性规划网格结构:

  • grid-template-columns :定义列数和列宽(核心),例如 grid-template-columns: 100px 1fr 2fr 表示"1列固定100px,1列占1份,1列占2份"。

  • grid-template-rows :定义行数和行高,例如 grid-template-rows: 50px auto 表示"1行固定50px,1行自适应内容"。

  • gap :快速设置网格项目间的间距(替代 margin),例如 gap: 10px 。

  1. 控制网格项目(子元素)

无需额外代码,子元素会自动填充网格;也可手动定位:

  • grid-column :控制项目占几列,例如 grid-column: 1 / 3 表示"从第1列开始,到第3列结束(占2列)"。

  • grid-row :控制项目占几行,例如 grid-row: 2 / 4 表示"从第2行开始,到第4行结束(占2行)"。

示例:3列2行网格

/* 父容器:3列(等宽)、2行(50px+自适应)、间距10px */

.grid-container {

display: grid;

grid-template-columns: 1fr 1fr 1fr; /* 3等宽列 */

grid-template-rows: 50px auto; /* 2行 */

gap: 10px;

}

/* 子项目:默认自动填充,也可手动定位 */

.grid-item:nth-child(1) {

grid-column: 1 / 3; /* 第1个项目占前2列 */

}

相关推荐
雪碧聊技术6 小时前
Vue + Element Plus 实现文本溢出显示省略号及悬浮提示
前端·javascript·css·vue.js·文本溢出省略
小妖6667 小时前
设置了 box-sizing: border-box; 不管用,下边框还是被挤压没了
前端·css·html
柚yuzumi9 小时前
CSS 定位布局:让元素各就各位
前端·css
用户0595401744610 小时前
Qdrant 召回不一致踩坑实录:跑了 300 次测试才发现是索引没刷新
前端·css
用户059540174461 天前
AI Agent 上下文污染踩坑实录:用 pytest + Redis 揪出 3 类记忆串号 bug,排查 6 小时
前端·css
—Qeyser1 天前
html 可视化海报模板编辑器
css·html·js
我命由我123452 天前
CesiumJS 笔记 - 获取容器中心点、Cartesian3 clone 方法、修改 Cartesian3 对象的高度
前端·javascript·css·前端框架·html·html5·js
FFF_634560232 天前
简单的画板小工具,下载即用
前端·javascript·css
绝世唐门三哥2 天前
CSS 虚线下划线用法指南:text-decoration 完整解析
前端·javascript·css
DsirNg2 天前
用一个登录卡片讲清 CSS 盒模型:padding、border 与 box-sizing 到底如何影响布局
css·padding·box-sizing·表单布局·border·css 盒模型·登录卡片