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;
}

填充
在这里插入图片描述

### CSS Grid `grid-row` 属性详解 #### 定义与功能 `grid-row` 是用于定义网格项在行方向上的位置和大小的简写属性。该属性可以控制网格项占据哪几行以及跨越多少行。具体来说,此属性是 `grid-row-start` 和 `grid-row-end` 的组合[^1]。 #### 使用方法 当应用到某个 HTML 元素上时,可以通过设置 `grid-row` 来决定这个元素在其父级网格容器内的起始行线 (`start`) 及结束行线 (`end`) 或者直接指定它要跨过的行列数(`span`)。 - **数值型参数**: 表示具体的栅格线条编号; - **关键字 span 加 数字/名称**: 表达的是跨越的数量或者是从当前定位点开始直到遇到同名区域为止; #### 实际案例展示 下面是一个简单的例子来说明如何利用 `grid-row` 进行布局: 假设有一个包含三个子元素 `.item-a`,`.item-b`,` .item-c` 的网格容器,并希望按照特定的方式排列它们的位置: ```html <div class="wrapper"> <div class="item item-a">A</div> <div class="item item-b">B</div> <div class="item item-c">C</div> </div> ``` 对应的 CSS 如下所示: ```css .wrapper { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; } .item-a { background-color: lightblue; grid-row: 1 / 3; /* 跨越第1至第2条水平线 */ } .item-b { background-color: pink; grid-row: 2 / 4; /* 跨越第2至第3条水平线 */ } .item-c { background-color: lightgreen; grid-row: 3 / 5; /* 跨越第3至第4条水平线 */ } ``` 在这个实例里,每个项目都指定了自己的 `grid-row` 值,从而实现了不同的高度覆盖效果。注意这里使用了分数形式 `/` 将起点和终点分隔开来表示范围。 另外一种常见的用法就是采用 `span` 关键词加上相应的整数来简化书写方式: ```css .item-d { grid-row: 1 / span 2; /* 从第一条线开始向下扩展两行 */ } ``` 以上便是关于 `grid-row` 属性的基础介绍及其实际应用场景的例子。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值