CSS Grid 是什么?
CSS Grid 是一种强大的二维布局系统,可以轻松创建复杂的网页布局。它比传统的浮动或 Flexbox 更灵活,特别适合构建网格状的界面。
基本概念
- 网格容器:设置
display: grid的元素 - 网格项:容器内的直接子元素
- 网格线:划分网格的线
- 网格轨道:行或列之间的空间
创建网格
1 | .container { |
常用属性
1. grid-template-columns 和 grid-template-rows
定义列和行的尺寸。
1 | /* 固定尺寸 */ |
2. grid-gap
设置网格项之间的间距。
1 | grid-gap: 10px; /* 行和列间距都是10px */ |
3. justify-items 和 align-items
控制网格项在单元格内的对齐。
1 | justify-items: center; /* 水平居中 */ |
4. grid-column 和 grid-row
让网格项跨越多个单元格。
1 | .item { |
实际例子
1 | <div class="grid-container"> |
1 | .grid-container { |
浏览器支持
现代浏览器都支持 CSS Grid,但记得检查兼容性。可以用 Autoprefixer 来添加厂商前缀。
总结
CSS Grid 让布局变得简单直观。多练习几个例子,你就能掌握它了。结合 Flexbox,可以解决几乎所有布局问题。