为什么捐赠
API 浏览器
联系站长
网格间隔

希望您已经阅读过 Flexbox 介绍 理论,让我们更深入地了解网格系统中的间隔(Gutters)。

Gutter Quasar CSS 类提供了一种简便方法,可以在元素(尤其是网格行中的元素)之间添加等距间隔。

类型

根据不同的使用场景,gutter 主要有两种类型:q-gutter-{size}q-col-gutter-{size}。当需要间隔的元素没有使用 col-*offset-* 类指定宽度时,使用前者;当元素使用了 col-*offset-* 类指定宽度时,使用后者。

TIP

后缀(-none-xs-sm-md-lg-xl)不是指设备屏幕尺寸,而是指元素之间的间隔大小。

“q-gutter-{size}” 类

WARNING

q-gutter-* 类会给父元素添加负的 top 和 left margin,给子元素添加正的 top 和 left margin。在与其他间距类一起使用时请注意这一点,以免破坏 gutter 的样式。

当直接子元素没有使用 col-*offset-* 类指定宽度时,使用这些类。

q-gutter 的大小



还有一个上面示例中未包含的 q-gutter-none 类(等同于不应用间隔)。

仅水平方向间隔



仅垂直方向间隔



水平和垂直方向混合间隔



“q-col-gutter-{size}” 类

WARNING

q-col-gutter-* 类会给父元素添加负的 top 和 left margin,给子元素添加正的 top 和 left padding。在与其他间距类一起使用时请注意这一点,以免破坏 gutter 的样式。

当直接子元素使用了 col-*offset-* 类指定宽度时,使用这些类。

q-col-gutter 的大小



仅水平方向间隔



仅垂直方向间隔



水平和垂直方向混合间隔



“q-gutter-{size}” 与 “q-col-gutter-{size}” 的优缺点及解决方案

这两套类各有优缺点。

WARNING

由于 q-gutter-*q-col-gutter-* 类都会对父元素应用负的 top 和 left margin,因此不应在父元素上直接设置 background、margin 或 border 相关的样式。

正确做法是在外面再包一层容器,在该容器上应用样式,并在容器上添加 overflow-autorow 类。

父元素样式



TIP

q-gutter-*不会改变子元素的内部尺寸,因此您可以直接在子元素上使用 backgroundborder

WARNING

q-col-gutter-*会改变子元素的外部尺寸,因此您不能再使用 col-*offset-* 类来指定子元素的宽度。

子元素大小对比



WARNING

因为 q-col-gutter-* 类对子元素应用了正的 top 和 left padding,所以不应在子元素上直接设置 background、padding 或 border 相关的样式。正确做法是在子元素内部再放一个元素,在该元素上应用样式。

子元素样式



Flex 演示

要查看 Flex 的实际效果,您可以使用 Flex 演示(Playground)进行交互学习。

Flex Playground