grid 属性总结

一、容器属性

1、display: grid;

块级的网格布局。

2、display: inline-grid;

行内的网格布局。

3、grid-template-columns

指定列的宽度。

① grid-template-columns:10px 20px 30%;

设置列,有几个值就代表有几列,值就是相应列的宽度。

② grid-template-rows: 200px 200px 200px;

设置行,有几个值就代表有几行,值就是相应行的高度。

③ grid-template-columns: 100px 100px 100px;

固定值

④ grid-template-columns: 33.33% 33.33% 33.33%;

百分比

⑤ grid-template-columns: 150px 1fr 2fr;

第一列的宽度为150像素,第二列的宽度是第三列的一半。

⑥ grid-template-columns: 1fr 1fr;

表示两个相同宽度的列

⑦ grid-template-columns: repeat (3, 1fr);

第一个参数代表的是重复的次数,第二个参数代表的是每行/每列的具体的宽度/高度。

⑧ grid-template-columns: repeat(auto-fill, 100px);

表示每列宽度100px,然后自动填充,直到容器不能放置更多的列。

⑨ grid-template-columns: 1fr 1fr minmax(100px, 1fr);

长度范围,minmax(100px, 1fr)表示列宽不小于100px,不大于1fr。

⑩ grid-template-columns: 100px auto 100px;

由浏览器自己决定长度。

4、grid-row-gap 属性,grid-column-gap 属性,grid-gap 属性

① grid-row-gap: 20px;

设置行间距

② grid-column-gap: 20px;

设置列间距

③ grid-gap: 20px 20px;

简写形式,设置行间距、列间距。如果省略了第二个值,浏览器认为第二个值等于第一个值。
注意:上面三个属性名的grid-前缀已经删除,grid-column-gap和grid-row-gap写成column-gap和row-gap,grid-gap写成gap

5、grid-auto-flow

划分网格以后,容器的子元素会按照顺序,自动放置在每一个网格。默认的放置顺序是"先行后列",即先填满第一行,再开始放入第二行。这个顺序由grid-auto-flow属性决定。

① grid-auto-flow: column;

顺序变成"先列后行"

6、justify-items 属性,align-items 属性,place-items 属性

justify-items属性设置单元格内容的水平位置(左中右),align-items属性设置单元格内容的垂直位置(上中下)。
place-items属性是align-items属性和justify-items属性的合并简写形式。
.container {
  justify-items: start | end | center | stretch;
  align-items: start | end | center | stretch;
}
  • start:对齐单元格的起始边缘。
  • end:对齐单元格的结束边缘。
  • center:单元格内部居中。
  • stretch:拉伸,占满单元格的整个宽度(默认值)。

7、justify-content 属性,align-content 属性,place-content 属性

justify-content属性是整个内容区域在容器里面的水平位置(左中右),align-content属性是整个内容区域的垂直位置(上中下)。
place-content属性是align-content属性和justify-content属性的合并简写形式。
.container {
    justify-content: start | end | center | stretch | space-around | space-between | space-evenly;
    align-content: start | end | center | stretch | space-around | space-between | space-evenly;
}
  • start:对齐容器的起始边框。
  • end:对齐容器的结束边框。
  • center:容器内部居中。
  • stretch:项目大小没有指定时,拉伸占据整个网格容器。
  • space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与容器边框的间隔大一倍。
  • space-between:项目与项目的间隔相等,项目与容器边框之间没有间隔。
  • space-evenly:项目与项目的间隔相等,项目与容器边框之间也是同样长度的间隔。

二、项目属性

1、justify-self 属性,align-self 属性,place-self 属性

justify-self属性设置单元格内容的水平位置(左中右),align-self属性设置单元格内容的垂直位置(上中下),
place-self属性是align-self属性和justify-self属性的合并简写形式。
.item {
    justify-self: start | end | center | stretch;
    align-self: start | end | center | stretch;
} 
  • start:对齐单元格的起始边缘。
  • end:对齐单元格的结束边缘。
  • center:单元格内部居中。
  • stretch:拉伸,占满单元格的整个宽度(默认值)。
posted @ 2022-06-08 11:59  小阿飞ZJF  阅读(249)  评论(0编辑  收藏  举报