grid 的用法
加三个宽度为
200px的列。
.container {
display: grid;
grid-template-columns: 200px 200px 200px;
}
- 用 fr 这个单位来灵活地定义网格的行与列的大小。
grid-template-columns: 2fr 1fr 1fr;>grid-template-columns: 300px 2fr 1fr,那么第一列宽度是300px,剩下的两列会根据除去300px后的可用空间按比例分配。grid-column-gap属性来定义列间隙;使用grid-row-gap来定义行间隙;使用grid-gap可以同时设定两者。grid-gap: 20px;- 可以使用
repeat来重复构建具有某些宽度配置的某些列。grid-template-columns: repeat(3, 1fr);- 和之前一样,你仍然得到了 3 个
1fr的列。第一个传入repeat函数的值(3)表明了后续列宽的配置要重复多少次,而第二个值(1fr)表示需要重复的构建配置,这个配置可以具有多个长度设定。- 例如
repeat(2, 2fr 1fr),这相当于填入了2fr 1fr 2fr 1fr。grid-template-columns: 2fr repeat(5, 1fr);除了第一列以外全为 1fr,第一列为 2frgrid-template-columns: 500px repeat(5, 1fr);除了第一列以外五等分,第一列为 500px- 溢出处理
grid-template-columns: 500px repeat(5, 200px);
overflow: auto;
grid 高级用法
- 同行同列高度一样,这是局限。
- grid-auto-rows: 100px;设置固定行高,内容过多会溢出,但是这样不好
- grid-auto-rows: minmax(100px, auto);行高最小值 100px,内容过多会自适应
- grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));auto-fill:宽度足够宽的话,尽可能显示多的列。能重复多少次就重复多少次。(代替原来 repeat 的那个数字)
.grid-four {
width: 800px;
margin: 50px auto;
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: minmax(100px, auto);
grid-auto-rows: minmax(50px, auto);
grid-gap: 20px;
}
- 显式网格是我们用
grid-template-columns或grid-template-rows属性创建的,而隐式网格则是当有内容被放到网格外时才会生成的。 - template 管显式,auto 管隐式
- grid-template-area: 'header header header’随意设置网格里块内容的位置。

京公网安备 11010502036488号