css-grid布局

文章目录

当一个 HTML 元素将 display 属性设置为 grid 或 inline-grid 后,它就变成了一个网格容器,这个元素的所有直系子元素将成为网格元素。

1、布局

  • 启用grid布局
  • 类似与flex布局,不过grid是对每一格进行属性预设置,如轨道数、间距统一设置;flex更关注于元素之间的排列关系
css 复制代码
display: grid;

2、网格轨道

  • grid-template-columns:规定一行有多少格,空格分隔,"value value value"表示有三个格子;由于元素会换行排列,columns轨道属性更加重要
  • grid-template-row:规定一行的高度,"value1 value2 value3"表示规定两行的高度,如果行数超过三行,后续行的高度等于value1
css 复制代码
grid-template-columns: auto auto auto auto;

3、间距Gap

  • grid-column-gap:column之间的间距
  • grid-row-gap:row之间的间距
  • grid-gap:grid-row-gap grid-column-gap ;属于前两个属性的集合

4、网格线

  • grid-column-start:某一个元素column起始网格线的编号,(grid-column-start和grid-column-end一起写才生效,只有一个无效)
  • grid-column-end:某一个元素column终止网格线的编号,
  • grid-row-start: 某一个元素row起始网格的编号,(同理,需要一起使用)
  • grid-row-end: 某一个元素row终止网格线的编号,

5、网格别名

  • grid设置属性,可以规定网格的别名,可以同名
  • grid-area:1、某一个元素可以设置他占据的网格别名,如.item1 { grid-area: item11; };2、grid-row-start / grid-column-start / grid-row-end / grid-column-end,设置两个起始点、两个终点,占据四条网格线分隔的区域;3、grid-row-start / grid-column-start / span rowNum / span columnNum,设置两个起始点,不设置终点网格线,而是设置占据的span网格数(类似于单元格合并)
  • grid别名时要满格,每行、每个元素都要照顾到;grid:'One Two Three' 'Four Five' 这种少一个就会异常
css 复制代码
display: grid;
grid:
'One Two Three'
'Four Five Six'
相关推荐
IT_陈寒18 小时前
Vue的响应式让我原地破防,原来问题出在这
前端·人工智能·后端
子兮曰19 小时前
Bun vs Node.js 深度对决:跑分快 4 倍,真实业务只剩 3%,2026 年到底该怎么选?
前端·后端·typescript
计算机魔术师19 小时前
终端用户
前端
码事漫谈19 小时前
把 AI 拆掉,你的系统还能跑吗?
前端·后端
默_笙20 小时前
⛵ 我用 React + TS 做了个"调色盘",顺便学会了企业级项目的目录架构
前端·javascript
预知同行20 小时前
从 MCP 到 CLI:AI Agent 工具链的架构演进与实战抉择
前端·面试
何智超20 小时前
AI 微前端性能优化之旅(中):重启
前端·vibecoding
渣波20 小时前
拒绝 Redux 样板代码:Zustand 核心原理与实战进阶指南(基础、异步与切片模式)
前端·javascript
C++、Java和Python的菜鸟20 小时前
第12章 前端Web进阶(Vue工程化+ElementPlus)
前端·javascript·vue.js
Hamm21 小时前
前端转Java+AI全栈?那我推荐几个实战开源项目给你
前端·后端·全栈