Grid布局!! 这次是Grid items的属性

608 阅读1分钟

前言

继续上篇来讲items的属性。container的属性已经画好格子了,那么items的属性则是确定items放在哪个格子里面。感觉??一个grid布局写body??可以解决整个网页??


一、grid-column-start / grid-column-end / grid-row-start /grid-row-end

用横(纵)线的开始和结束确定item放在格子里。

.item-1 {
  grid-column-start: 2;
  grid-column-end: 5; // five;
  grid-row-start: 1;
  grid-row-end: 3;	//row1-start;
}

我们也可以用线的名字来写上去。

此外,还可以用span来表示"跨越",即左右边框(上下边框)之间跨越多少个网格。

.item-b {
  grid-column-start: 1;
  grid-column-end: span col4-start;
  grid-row-start: 2
  grid-row-end: span 2
}

注意:以上可以简写,grid默认可以跨的span为1,且开始都是从左上角开始堆叠。

.item-b {
  grid-column-end: span 3;
  grid-row-start: 2
  grid-row-end: span 2;
}

二、grid-column / grid-row

grid-column-start + grid-column-end, 和 grid-row-start + grid-row-end 的简写。

直接栗子:

.item-c {
  grid-column: 3 / span 2;
  grid-row: third-line / span 1;
}

三、grid-area

用于引用grid-template-area中区域的命名。
或者grid-row-start + grid-column-start + grid-row-end + grid-column-end的简写。

四、justify-self/align-self

沿着行轴对齐grid item 里的内容(与之对应的是 align-self, 即沿列轴对齐)。 此属性对单个网格项内的内容生效

  • start - 将内容对齐到网格区域的左端
  • end - 将内容对齐到网格区域的右端
  • center - 将内容对齐到网格区域的中间
  • stretch - 填充网格区域的宽度 (这是默认值)

效果和justify-items/align-items的关键字一样,不做重述。