Skip to content

Space

Space 用于对子元素做统一排布与间距控制,适合按钮组、标签组、操作区、信息块等场景。

Basic

Responsive

directionsizewrapalignjustify 支持响应式对象写法。

Space.Item

使用 Space.Item 可以对单项设置 flexgrowshrinkbasisorderalignSelf

Split

通过 split 可在子项之间插入分隔内容。

常见场景

基础布局

用于组织页面结构、控制间距、对齐和响应式布局。

组合嵌套

复杂页面推荐拆成多个 Space 组合,避免在单个容器中堆叠过多职责。

响应式适配

可通过尺寸、间距、classNamesx 处理不同屏幕下的布局变化。

Usage

tsx
import { Space, Button } from "@ldkj/web-ui";

export function Example() {
  return (
    <Space
      direction={{ xs: "vertical", md: "horizontal" }}
      size={{ xs: "sm", md: { row: "md", column: "xl" } }}
      split={<span>|</span>}
    >
      <Button size="sm">保存</Button>
      <Button size="sm" variant="secondary">预览</Button>
      <Button size="sm" variant="outline">取消</Button>
    </Space>
  );
}

API

Space 继承 Box 的基础能力,支持 componentclassloadingloadingContentmodalmodalContentonModalMaskClick 以及原生属性透传。

Space

属性说明类型默认值
direction排列方向,支持响应式"horizontal" | "vertical" | Responsive<...>"horizontal"
size间距,支持单值/双值/对象与响应式SpaceGap | Responsive<SpaceGap>"md"
wrap是否换行,支持响应式boolean | flexWrap | Responsive<...>true
align交叉轴对齐,支持响应式alignItems | Responsive<...>-
justify主轴对齐,支持响应式justifyContent | Responsive<...>-
split子项间分隔内容React.ReactNode-
itemClassName统一注入到每个子项容器string-
itemStyle统一注入到每个子项容器React.CSSProperties-
itemSx统一注入到每个子项容器SxProps-
component自定义渲染元素React.ElementType"div"
className/class/style/sx通用样式入口--
...rest透传原生属性BoxProps<T>-

Space.Item

属性说明类型默认值
flexflex 缩写React.CSSProperties["flex"]-
growflex-growReact.CSSProperties["flexGrow"]-
shrinkflex-shrinkReact.CSSProperties["flexShrink"]-
basisflex-basisReact.CSSProperties["flexBasis"]-
order排序React.CSSProperties["order"]-
alignSelf子项对齐React.CSSProperties["alignSelf"]-
className/class/style/sx子项样式入口--
...rest透传到子项容器div props-

行为规则 / 优先级

  • 布局组件只处理结构、尺寸和对齐,不承载业务状态。
  • classNameclass 用于追加类名;如同时传入原生 style,内联样式会按 React 规则覆盖同名 CSS。
  • 复杂内容优先通过组合能力传入,避免在组件内部硬编码业务文案。
  • Space 的默认值应服务于最常见场景,特殊场景通过显式 props 覆盖。

Notes

  • 布局层尽量保持语义清晰,避免把业务点击行为隐藏在纯布局组件里。
  • 文档 demo 展示的是推荐组合方式;生产代码中可按业务密度调整间距和尺寸。
  • 修改组件能力时需要同步更新本页 Demo、Usage、API 与行为规则。