回到所有的课程
课程库

网格

使用CSS网格在响应式布局中定位内容。

本视频采用了旧的用户界面。更新版本即将到来!
克隆这个项目

在这节课中:

  1. 创建并编辑网格
  2. 将内容放置在网格中
  3. 移动、缩放和对齐网格内容
  4. 设计响应式电网

Webflow中的网格布局使CSS网格在一个完全可视化的画布上变得栩栩如生。这使您可以更直接地控制您的布局和设计。使用网格,您可以在网格中的任何地方重新定位和调整项目的大小,以产生强大的、响应性强的布局-更快。

您可以使用网格创建各种布局。例如,您可以使用它创建一个表,您可以在较小的设备上轻松地将其转换为卡片。

创建并编辑网格

要创建网格,请选择网格元素添加面板。控件中的任何现有元素也可以应用网格布局风格的面板

编辑一个网格

要编辑网格,请单击编辑网格布局风格的面板当您选择网格时。

按退出网格编辑模式ESC或者点击完成在画布上。

添加列和行

若要添加列和行,请选择添加控件中或画布上出现的按钮风格的面板

复制和删除行和列

若要复制或删除列或行,请右键单击列或行标题并选择重复的删除

控件中的任何行或列也可以删除或复制风格的面板当悬停在一列或一行上时。

重新排序行和列

中的行或列重新排序风格的面板,打开网格设置,将鼠标悬停在您想要移动的行或列上,然后拖动出现的手柄。

调整列和行之间的间隔

间隙允许您指定网格项目之间的空间,而无需添加边距或填充。若要调整列和行之间的间隙大小,请单击并拖动画布上的间隙。

或者,可以在中输入所需的间隙大小风格的面板

调整列和行大小

若要调整网格列的大小,请在画布上选择列标题并拖动到所需的大小。

还可以为画布上的行标题或列标题中的列和行输入自定义大小风格的面板

FR单位

网格布局引入了一个额外的长度单位来帮助我们定义网格:FR单位。FR单元表示网格容器中可用空间的一小部分。您可以使用它来定义行和列的长度,就像百分比或像素单位一样。但是,与固定的百分比或像素单位不同,FR单位在调整间隙时自动计算单元格空间。

大小值为1FR的列将被拉伸或收缩以填充网格容器中的可用空间。如果添加或删除列,所有以1FR为单位的列都会相应调整。

了解更多关于FR单位

最小/最大设置

设置最小/最大值可以确保行和列的收缩不会超过设置的最小值或扩展到设置的最大值。例如,一行的默认高度为auto,并将展开或收缩以适应其中的内容。

如果你想让你的行有一个最小高度,比如200px,你可以设置最小值为200px,最大值为Auto。这样,行将根据内容增长,不会收缩超过200px。您可以对列做同样的操作。

要为任何列或行输入最小/最大值,请在画布上的曲目标题或在风格的面板

将内容放置在网格中

您可以在网格中添加任何内容:标题、图像、div块,甚至另一个网格。添加到网格中的任何内容都将成为该网格的子元素。默认情况下,每个新的网格子将填充一个单独的网格单元格——从左到右填充下一个可用的单元格。如果一行中没有更多可用的单元格,将生成一个新行来容纳新的网格子行。

改变网格内容流动的方向

控件中的方向设置可以更改网格子元素的方向风格的面板.在这里,您可以选择默认行设置,该设置将子行从左到右放置。或者,将方向改为列,即从上到下放置子元素。

手动定位网格中的内容

若要重写自动放置设置以手动定位网格中的项,请按住转变同时将元素拖动到网格中。任何手动放置在网格中的项目都将保持手动位置设置。

若要将现有网格子元素的位置设置更改为手动,请选择网格子元素并在风格的面板

手动放置的子网格将保留在指定的网格单元中。而自动放置的网格子移动到下一个单元以容纳新的网格子。

在网格单元中嵌套多个元素

通过在网格子元素中嵌套元素,可以向单个网格单元格添加多个元素。要做到这一点,首先要在网格中添加一个布局元素,比如Div块,作为直接的网格子元素。

一旦您添加了布局元素(如Div块)作为网格子元素,您可以通过保存将其他元素添加到该Div块控制当您将元素拖动到网格单元格中时。

重复网格中的内容

有两种方法可以复制子网格,在网格的多个单元格中重用相同的内容:

  1. 持有Alt(在Windows上)或选项(在Mac上)并拖动内容来创建,并将副本移动到一个新的网格单元格中
  2. 选择并复制内容,然后选择网格并粘贴内容

移动、扩展和对齐网格中的内容

一旦将内容放入网格中,就可以随心所欲地对其进行操作。您可以移动内容以在不同的单元格中重新定位它们。您可以跨越内容以占用多个单元格。还可以调整网格内内容的对齐方式。

移动网格的孩子

若要重新定位网格中的内容,请选择网格子元素并将其拖动到画布上或导航器

设置网格子顺序

控件的网格子设置部分中,还可以设置网格子的顺序风格的面板

对齐网格中的内容

要更新网格内所有子元素的对齐方式,请选择网格并更改风格的面板

要更改单个网格子元素的对齐方式,请选择网格子元素并在控件的网格子部分中更新自对齐设置风格的面板

跨网格的孩子

若要跨多个网格单元格跨网格子单元格,请选择网格子单元格并拖动出现在网格单元格角落的手柄。

控件中的网格子节点风格的面板.对于具有自动定位功能的子网格,请指定子网格应该跨越多少列和多少行。

对于手动定位的子项,请输入项目开始和结束所在的列和行。

观看视频教程在响应式网格中跨越内容

锁定网格子定位

负的网格子定位值是很好的,如果你:

  1. 不想在每次添加新列时重新跨越导航栏以填充所有列
  2. 希望将页脚保持在网格的最后一行,无论您向网格添加了多少行
  3. 想要保持主要内容部分始终在网格的中心

负数允许您相对于网格的末端定位子元素—它们从右到左或从下到上引用单元格。

为了让你的导航栏跨越所有的列,把它放在列1(第一列)和列-1(最后一列)之间。

要让页脚始终位于网格的最后一行,请将其置于-1/ -1行。

如果您想让子元素在网格中居中,并且每一侧的列数相同,可以将“end”值设置为“start”值的负值。例3/-3或2/-2。现在,如果您在较小的断点上删除列,子节点将保持居中。

清除网格子设置

网格子设置只应用于选定的元素,它们不会随类保存。粉色标签风格的面板显示应用于当前断点上所选元素的已更改设置。这些样式级联到较低的断点,并用橙色标签表示。当您在较小的断点上覆盖继承的(橙色)样式时,指示器将再次变为粉红色。

若要删除任何应用的网格子设置,请单击粉色标签,然后单击重置。

重叠网格的孩子

手动定位的子网格将在它们相交于相同的单元格时自动重叠。您还可以控制这些重叠元素的堆栈顺序。控件中重新定位它们可以做到这一点导航器,或通过调整定位和z-index设置。

观看视频教程重叠网格内容

填充空网格单元格

当您跨越了网格子单元时,空单元格可能会留在网格中。控件中的密集设置可以自动填充这些单元格风格的面板

请注意密集的尝试将网格子元素放入网格的空单元格中。这不利于可访问性,因为它只会改变条目的位置显示,而不是它们在页面源中出现的地方。

设计响应式电网

要设计网格,使其跨屏幕响应,您可以手动删除较小viewports上的列,或启用auto-fit来自动生成列和行,以适应较小的屏幕尺寸。

手动设置跨断点的网格布局样式

为了确保网格在所有设备上都能响应,可以在较小的断点上查看网格,并根据需要删除列。

如果您不能删除较小断点上的列,请尝试:

  1. 设置网格方向为行
  2. 确保您没有在这些列中手动定位网格子元素
  3. 确保这些列中没有子元素

使Auto-fit

自动适应是CSS网格最强大的功能之一,它允许你自动重复和换行列,这样你就可以构建一个跨每一个屏幕大小的布局,而不需要对每个断点进行调整。

若要启用自动适应,请删除除一列和一行之外的所有内容。设置列的最小和最大尺寸并启用自动适应。

更多的列将自动生成和重复,以响应地分发内容。

观看视频教程使用auto-fit将集合列表转换为响应式网格

一旦你完成了网格的创建,了解如何使用网格区域创建可重用的布局模板

尝试Webflow——它是免费的
Baidu
map