Skip to content

Space 间距

用于在多个子元素之间统一管理间距,避免在每个子元素上单独写 margin

交互式调试

🔧调试模式Playground

基础用法

vue
<template>
  <lk-space>
    <lk-button>按钮一</lk-button>
    <lk-button>按钮二</lk-button>
    <lk-button>按钮三</lk-button>
  </lk-space>
</template>

设置间距

gap 支持预设值、数字、带单位字符串,以及 [水平间距, 垂直间距] 数组。

vue
<template>
  <lk-space gap="lg">
    <lk-tag>大间距</lk-tag>
    <lk-tag>大间距</lk-tag>
  </lk-space>

  <lk-space :gap="24">
    <lk-tag>24rpx</lk-tag>
    <lk-tag>24rpx</lk-tag>
  </lk-space>

  <lk-space :gap="['24rpx', '12rpx']" wrap>
    <lk-tag v-for="item in 6" :key="item">标签 {{ item }}</lk-tag>
  </lk-space>
</template>

垂直布局

列表、设置项、表单块之间的排版推荐使用 direction="vertical"

vue
<template>
  <lk-space direction="vertical" :gap="16">
    <view>项目 A</view>
    <view>项目 B</view>
    <view>项目 C</view>
  </lk-space>
</template>

自动换行

在标签流、筛选项等横向密集场景中,可开启 wrap

vue
<template>
  <lk-space wrap gap="md">
    <lk-tag v-for="item in 12" :key="item">标签 {{ item }}</lk-tag>
  </lk-space>
</template>

填满父容器

fill 常用于让每个子项更容易做等宽布局或拉伸布局。

vue
<template>
  <lk-space fill>
    <lk-button block>保存</lk-button>
    <lk-button block plain>取消</lk-button>
  </lk-space>
</template>

推荐示例

1) 直接复用项目 Demo(推荐)

vue
<script setup lang="ts">
import SpaceDemo from '@/components/demos/space-demo.vue'
</script>

<template>
  <SpaceDemo />
</template>

2) 在业务页中按需组合

vue
<template>
  <view class="page-demo">
    <lk-space />
  </view>
</template>

API

Props

参数说明类型默认值
customClass组件可视根节点自定义类名string | object | array''
customStyle组件可视根节点自定义样式string | object''
gap间距大小。支持预设值、数字、带单位字符串或数组 [水平, 垂直]number | string | [number | string, number | string] | 'sm' | 'md' | 'lg'md
direction排列方向horizontal | verticalhorizontal
align交叉轴对齐方式start | center | end | baseline | stretchhorizontal 时默认 centervertical 时默认 stretch
wrap是否自动换行booleanfalse
fill是否填满父容器宽度booleanfalse

Events

当前版本未额外暴露自定义事件。

Slots

插槽名说明
default需要统一管理间距的子元素

使用建议

TIP

优先把 lk-space 当作“布局容器”使用,而不是简单的视觉间距工具,这样更方便统一维护页面结构。

WARNING

gap 传数组时,顺序是 [水平间距, 垂直间距],不是 [垂直, 水平]

基于 MIT 协议开源 · 粤ICP备2022114240号-3

Space 间距

正在连接预览服务...

请先运行 pnpm run dev:h5