grid布局实战

发布时间 2023-12-18 16:48:26作者: 小阿飞ZJF

1、grid布局两端对齐,最后一行左对齐。

display: grid;
// grid-template-columns: 1fr 1fr 1fr 1fr;

// 简写:
grid-template-columns: repeat(4, 1fr);
gap: 30px;

 2、响应式布局:auto-fill主轴上指定的宽度或者重复次数是最大可能的正整数,minmax最小值255px、最大值1fr代表剩余空间的比例。

display: grid;
grid-template-columns: repeat(auto-fill, minmax(255px, 1fr));
gap: 30px;

3、grid-row和grid-column可以控制某个元素占领几份

以grid-row行为例,从第几列开始 / 第几列+想占几个;

.layout .box1{
    grid-row: 1/3;
    grid-column: 1/3;
}

 4、取值类型拓展:百分比、fr单位、repeat()函数、auto-fill 关键字、minmax() 函数、auto 关键字

  • 百分比:是比较常用的单位,参照与容器的大小
  • fr单位:Grid 布局引入了一个另外的长度单位来帮助我们创建灵活的网格轨道,fr关键字代表网格容器中可用空间的一等份。下面例子中表示容器分成4份,第一列和第二列各占一份空间,第三列占两份空间。
  • repeat()函数:该函数接收两个参数,第一个参数为重复次数,第二个参数为需要重复的值,使用repeat函数可以简化重复的值,
  • auto-fill 关键字:单元格大小固定但容器大小不确定时,可以使用auto-fill关键字进行自动填充,让一行或者一列尽可能多的容纳单元格,常搭配repeat()函数中使用。
  • minmax()函数:minmax()函数产生一个长度范围,接收两个参数,第一个参数为最小值,第二个为最大值。
  • auto关键字:auto关键字表示由浏览器自己决定长度,下面代码中第一列为容器的30%宽,第二列是50px,第三轮由浏览器自适应。
grid-template-columns: 25% 25% 25% 25%;
grid-template-columns: 1fr 1fr 2fr;
grid-template-columns: repeat(5, 1fr);//第一个参数可以是具体值也可以是auto-fill关键字,后面可以写绝对单位,百分比,fr,minmax()函数
grid-template-columns: repeat(auto-fill, 100px);
grid-template-columns: 200px 20% minmax(100px,1fr);
grid-template-columns: 200px auto 200px;
grid-template-columns: repeat(3, 50px [col-start]);//携带网格线名字
grid-template-columns: repeat(2, 100px 20px 80px);//重复某种模式
grid-template-columns: 30% 50px auto;