grid 布局

父盒子设置

将父盒子设置成 gird 模型

display: grid;

1.1 grid-template(设置行,列宽度)

给 每列 设置宽度

grid-template-columns: 120px 120px 120px;

给列设置一定数值的宽度
在这里插入图片描述

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

fr 是 grid 布局中专用的单位,代表占所有空间的比例。
在这里插入图片描述

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

fr 是 grid 布局中专用的单位,代表占所有空间的比例。
在这里插入图片描述

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

repeat 可以更方便的设置列, 第一个参数为列数,第二个参数为 所占空间的比值。
在这里插入图片描述

grid-template-columns: 80px auto 80px;

可以给列设置宽度,然后 auto 属性可以将剩余的空间占满。
在这里插入图片描述

grid-template-columns: auto 22% 22%;

可以给列设置宽度,然后 auto 属性可以将剩余的空间占满。
在这里插入图片描述

1.2 grid-gap(设置间距)

设置行间距 和 列间距

  grid-row-gap: 30px;
  grid-column-gap: 30px;

grid-row-gap 设置行间距 grid-column-gap 设置列间距。
在这里插入图片描述

grid-gap: 10px 5px;

grid-gap 有两个参数,第一个参数代表 行间距,第二个参数代表列间距。
在这里插入图片描述

grid-gap: 10px;

grid-gap 只设置一个参数的话,那么行间距和列间距都为 10px
在这里插入图片描述

 grid-template-areas: 
 "header header header header" 
 "main main sidebar" 
 "footer footer footer footer";

grid-template-areas 给宫格布局中的每个元素设置名称
在这里插入图片描述

1.3 justify-items(横向对齐方式)

设置元素 水平 方向排版

justify-items: start;

start 属性实现从左开始排版
在这里插入图片描述

justify-items: center;

center 属性实现从中间开始排版
在这里插入图片描述

justify-items: end;

end 属性实现从右开始排版
在这里插入图片描述

1.4 align-items(纵向对齐方式)

将元素纵向对齐方式

align-items: start;

start 向上对齐
在这里插入图片描述

align-items: center;

center 居中对齐
在这里插入图片描述

align-items: end;

end 向下对齐
在这里插入图片描述

1.5 justify-content(横向对齐方式)

调整网格中网格轨道横轴方向的排布

justify-content: start;

start 左边对齐方式
在这里插入图片描述

justify-content: center;

center 居中对齐方式
在这里插入图片描述

justify-content: end;

end 右边对齐方式
在这里插入图片描述

justify-content: space-between;

space-between 两边对齐方式
在这里插入图片描述

justify-content: space-around;

space-around 两边对齐方式,两边产生边距。
在这里插入图片描述

justify-content: space-evenly;

space-evenly 两边对齐方式,两边产生边距,边距更大
在这里插入图片描述

1.6 align-content(纵向对齐方式)

调整网格中网格轨道纵轴方向的排布

align-content: start;

排列方向为 上方
在这里插入图片描述

align-content: center;

排列方向为 居中
在这里插入图片描述

align-content: end;

排列方向为 下方
在这里插入图片描述

align-content: space-between;

排列方向为 两边对齐
在这里插入图片描述

align-content: space-around;

排列方向为 两边对齐,两边产生间距。
在这里插入图片描述

align-content: space-evenly;

排列方向为 两边对齐,两边产生间距,间距更大。
在这里插入图片描述

2. 子元素设置

2.1 grid-column(设置横向填充)

设置横向的分布

.item4 {
  background-color: #f5f5ff;
  grid-column-start: 1;
  grid-column-end: 3;
}

start 设置开始位置,end设置结束位置,这个值代表网格线。
在这里插入图片描述

.item4 {
  background-color: #f5f5ff;
  grid-column-start: span 3;
}

span 设置的值,就是占用多个单元格。
在这里插入图片描述

.item4 {
  background-color: #f5f5ff;
  grid-column: 1/3;
}

grid-column 第一个是开始的值,第二个是结束的值。
在这里插入图片描述

2.2 grid-row(设置纵向填充)

设置纵向的分布

.item4 {
  background-color: #f5f5ff;
  grid-row-start: 1;
  grid-row-end: 3;
}

grid-row-start 设置开始的位置,grid-row-end设置结束的位置。
在这里插入图片描述

.item4 {
  background-color: #f5f5ff;
  grid-row: 1/4;
}

grid-row 第一个参数开始,第二个参数为结束。
在这里插入图片描述

.item4 {
  background-color: #f5f5ff;
  grid-row-start: span 2;
}

从当前位置开始,纵向占用 2 个格子。
在这里插入图片描述

.item4 {
  background-color: #f5f5ff;
  grid-row: 1/span 4;
}

从第一个网格线开始,到第四个格子结束(包含)
在这里插入图片描述

2.3 grid-area(设置填充)

将元素连成面

grid-area: 1/2/3/4;

第一个是横向开始的网格线,第二个是纵向开始,第三个是横向结束,第四个是纵向结束。
在这里插入图片描述

.container {
  grid-template-areas: 
  "header header header header"
   "main main main sidebar"
   "footer footer footer footer";
}
.item4 {
	grid-area: header;
}

需要配合 grid-template-areas 一起使用,给名称一样的元素填充。
在这里插入图片描述

2.4 justify-self(设置横向的对齐方式)

横向排列位置

.item4 {
  background-color: #f5f5ff;
  grid-area: 1/2/3/4;
  justify-self: start;
}

横向设置,居左对齐。
在这里插入图片描述

.item4 {
  background-color: #f5f5ff;
  grid-area: 1/2/3/4;
  justify-self: center;
}

横向设置,居中对齐。
在这里插入图片描述

.item4 {
  background-color: #f5f5ff;
  grid-area: 1/2/3/4;
  justify-self: end;
}

横向设置,居右对齐。
在这里插入图片描述

.item4 {
  background-color: #f5f5ff;
  grid-area: 1/2/3/4;
  justify-self: stretch;
}

填充
在这里插入图片描述

2.5 align-self(设置纵向的对齐方式)

纵向排列位置

.item4 {
  background-color: #f5f5ff;
  grid-area: 1/2/3/4;
  align-self: start;
}

靠上对齐
在这里插入图片描述

.item4 {
  background-color: #f5f5ff;
  grid-area: 1/2/3/4;
  align-self: center;
}

居中排列
在这里插入图片描述

.item4 {
  background-color: #f5f5ff;
  grid-area: 1/2/3/4;
  align-self: end;
}

靠下对齐
在这里插入图片描述

.item4 {
  background-color: #f5f5ff;
  grid-area: 1/2/3/4;
  align-self: stretch;
}

填充
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值