CSS Grid 网格布局教程

CSS网格的两个核心要素是包装器(父级)和项目(子级)。包装器是实际的网格,项目是网格中的内容。
这是其中包含六个项目的包装器的标记:

<div class="wrapper">
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  <div>6</div>
</div>

要将包装器div变成网格,我们只需要显示以下内容
grid:
但是,这还没有做任何事情,因为我们还没有定义我们希望网格的外观。它会简单地将6堆叠div’s在一起。
在这里插入图片描述
我添加了一些样式,但这与CSS网格没有任何关系。

列和行

为了使其成为二维,我们需要定义列和行,让我们创建三列和两行。我们将使用grid-template-row和grid-template-column属性。

当我们为编写了三个值时grid-template-columns,我们将获得三列。我们将获得两行,因为我们已为指定了两个值grid-template-rows。

这些值指示我们希望列的宽度为(100px),我们希望行的高度为(50px)。结果如下:
在这里插入图片描述
为了确保您正确理解值之间的关系以及网格的外观,还请看一下此示例。

.wrapper {
    display: grid;
    grid-template-columns: 200px 50px 100px;
    grid-template-rows: 50px 50px;
}

尝试掌握代码和布局之间的联系。
播放方法如下:
在这里插入图片描述

放置物品

您需要学习的下一件事是如何将项目放置在网格上。这是您获得超能力的地方,因为它使创建布局变得非常简单。

让我们使用与之前相同的标记创建一个3x3网格。

.wrapper {
    display: grid;
    grid-template-columns: 100px 100px 100px;
    grid-template-rows: 100px 100px 100px;
}

这将导致以下布局:
在这里插入图片描述
请注意,我们在页面上仅看到3x2网格,而我们将其定义为3x3网格。这是因为我们只有六个项目可用于填充网格。如果再增加三个,则最低行也将被填充。

要定位和调整项目的大小,我们将其定位为目标,并使用grid-column和grid-row属性:

.item1 {
    grid-column-start: 1;
    grid-column-end: 4;
}

这里我们要说的是,我们希望item1在第一条网格线上开始,在第四列线上结束。换句话说,它将占用整行。

这是在屏幕上显示的方式:
在这里插入图片描述
您是否感到困惑,为什么只有3列却有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;
}

这是页面上的外观。试着绕着为什么看起来像这样。应该不会太难。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值