Space 间距

虽然我们已经有了 Divider 分割线,但是很多时候我们需要不止一条分割线来分隔组件,因此我们把许多组件都堆叠在分割线上,但是这样做不仅让我们的代码变得丑陋,还使得难以维护。Space 间距正是为此而生,它能帮我们优雅地处理间距。

基础用法

基础的用法,提供统一的间距。​

垂直布局

使用 direction 来控制布局方式,我们底层使用了 flex-direction 来实现该功能。

控制间距的大小

通过 size API 来控制间距的大小。

您可以设置 smalldefaultlarge 这三个尺寸,它们分别对应 8px12px16px。 默认尺寸是 small,即 8px

当然你也可以通过自定义尺寸来覆盖它。请参考下一节。

自定义尺寸

有时,预设的尺寸不符合业务需求,我们可以使用自定义尺寸(数字类型)来控制项目之间的间距。

提示

请勿将 ElSpace 与依赖父级宽度(高度)的组件一起使用,例如 ElSlider ,在这种情况下拖动触发按钮时,进度条会增长,从而导致光标和触发按钮之间的错位。

自动换行

当在水平模式下,使用 wrap (布尔类型) 来控制自动换行行为。

分隔符

有时候,我们想要的不只是空白的间距,所以我们有了分隔符 (spacer) 来帮助我们。

字面量类型的分隔符

分隔符也可以是 VNode

对齐方式

设置此属性可以调整子节点的对齐方式,可选的值请参照 align-items

填满容器

通过 fill (布尔类型) 参数,可以控制子节点是否自动填充容器。

下例中,设置为 fill 时,子节点的宽度会自动适应容器的宽度。

你也可以通过 fillRatio 参数,自定义填充比例,默认值为 100,代表以父容器的 100% 宽度为基准进行填充。

需要注意的是,水平布局和垂直布局的表现略有不同,具体效果可以在下例中查看。

API

属性

名称描述类型默认值
对齐方式控制项目的对齐方式enum align-items居中
class类名string / object / array
direction排列方向枚举horizontal
前缀类space-items 的前缀string
样式额外的样式string / object
分隔符分隔符string / number / VNode
size间距大小enum / number / array
换行是否自动换行booleanfalse
填充色是否填充容器booleanfalse
填充比例填充比例number100

插槽

名称description
default需要间隔的项

来源

组件样式文档

贡献者