css删格系统填充颜色,CSS 栅格系统

9caa47f987c167cb5a9c3603c48497bb.png

Grid

CSS 栅格布局中最重要的两个元素是 wrapper(parent) 和 items(children)。wrapper 实际上就是栅格,而 items 就是栅格里面的元素。

以下面的代码为例:

1
2
3
4
5
6
复制代码

让这个 div 标签成为栅格,我们只需将他的 display 属性设置为 grid:

.wrapper {

display: grid;

}复制代码

在我们还未做任何后续操作的时候它看起来是这样的:

ab82e907ae87ddb0289b6e72f62e3446.png

Columns and rows

我们需要为这个容器定义行和列,现在将这个容器分割成两行三列,需要用到 grid-template-row 和 grid-template-column 属性:

.wrapper {

display: grid;

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

grid-template-rows: 50px 50px;

}复制代码

当我们这样去定义 grid-template-columns 时,我们将得到三列,列长就是我们设置的大小,同理 grid-template-rows 也是一样。

于是我们得到下面的结果:

d7e9d963abf531f3da814a4394675e81.png

为了看清楚他们之间的关系,我们修改下代码再看看结果:

.wrapper {

display: grid;

grid-template-columns: 200px 50px 100px;

grid-template-rows: 100px 30px;

}复制代码

会得到以下样式:

55d84d1fc8db2fe099ef1ac3b73a0fc9.png

Items

接下来需要了解的是,在栅格系统中的元素是如何放置的。

我们创建一个 3*3 的栅格,HTML 任然使用前面的:

.wrapper {

display: grid;

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

grid-template-rows: 100px 100px 100px;

}复制代码

会出现:

f201133ee7057e73ca28ee48b23cd90d.png

你会发现我们的结果中展示的是 3*2 的栅格,而我们在 CSS 代码中定义的是 3*3的栅格,那是因为我们的容器中只有六个元素,如果我们在 HTML 中定义了 9 个元素,那么结果就会是一个 3*3 的栅格

为了重新定位并调整这些元素的大小,我们要对该元素使用 grid-column 和 grid-row 属性

.item1 {

grid-column-start: 1;

grid-column-end: 4;

}复制代码

上面的代码意图是,我们想让 item1 的起点在第一列并且终止在第四列,也就是说,我们想让它独占一行,下面是运行的结果:

753ba6c1375d3adb89a20adb7801a706.png

前面代码中的 grid-column-end: 4; 可能会让人产生困惑,因为我们实际结果中只得到了三列,但是看看下面的图片就能明白了:

82f96aee444363102695e75d8aa123b7.png

当第一个元素占满第一行时,其他的元素将向下顺延。

上面那段代码其实还有一种更简单的写法:

.item1 {

grid-column: 1 / 4;

}复制代码

接下来我们来做一些更复杂一点的操作:

.item1 {

grid-column-start: 1;

grid-column-end: 3;

}

.item3 {

grid-row-start: 2;

grid-row-end: 4;

}

.item4 {

grid-column-start: 2;

grid-column-end: 4;

}复制代码

下面是以上代码的结果,想想看为什么布局会变成这样

68c4254e0296f1ae9be2ad4c54190b60.png

That’s it!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值