Skyroc UI
通用

Divider

分隔线组件,用于在内容之间创建视觉分隔

分隔线(Divider)用于在页面内容之间创建视觉分隔,支持水平和垂直方向,可附带标签文本。组件基于 Radix Separator 封装,提供边框样式、标签对齐和尺寸控制。

import { Divider, DividerRoot, DividerLabel } from '@skyroc/web-ui';

架构说明

Divider 由两个结构组件组成:

  • DividerRoot:分隔线根容器,渲染为 Radix Separator,负责方向和边框样式。
  • DividerLabel:标签文本,绝对定位在分隔线中央或指定对齐位置。

Divider 主组件自动组合二者,传入 children 时渲染标签,否则仅渲染纯分隔线。

何时使用

  • 在同一页面中区分不同内容区块。
  • 列表项或表单区域之间需要视觉分隔。
  • 需要带标签文本的分隔线(如"或"、"更多")。
  • 工具栏或导航中需要垂直分隔不同操作组。

基础用法

传入 children 作为分隔线上的标签文本,不传则渲染纯分隔线。

Preview
Code
Loading...

边框样式

通过 border 控制分隔线的线条样式。

样式说明
solid实线(默认)
dashed虚线
dotted点线
Preview
Code
Loading...

标签对齐

通过 align 控制标签在分隔线上的水平位置。

对齐说明
start靠左对齐
center居中(默认)
end靠右对齐
Preview
Code
Loading...

垂直方向

设置 orientation="vertical" 将分隔线切换为垂直方向,适合在行内元素之间使用。

Preview
Code
Loading...

API

Divider

通用属性参考:支持 Radix Separator 的 decorativeasChild 属性,以及原生 div 元素属性。

属性说明类型默认值
children标签内容,传入时在分隔线上显示文本ReactNode-
orientation分隔线方向'horizontal' | 'vertical''horizontal'
border边框线条样式'solid' | 'dashed' | 'dotted''solid'
align标签对齐位置(有 children 时生效)'start' | 'center' | 'end''center'
size标签文本尺寸和间距'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl''md'
leading前置插槽,位于标签之前ReactNode-
trailing后置插槽,位于标签之后ReactNode-
className根容器的 class,优先级低于 classNames.rootClassValue-
classNames各 slot 的自定义 class(root / label)DividerUi-
decorative是否为纯装饰性分隔线(true 时不输出 ARIA role)boolean-

子组件

Divider 也导出基础结构组件,适合需要手动组合 Root 和 Label 的场景。

属性说明类型默认值
DividerRoot分隔线根容器,支持 Radix Separator props、border 和 classNameDividerRootProps-
DividerLabel标签文本,支持 align、orientation、size 和 classNameDividerLabelProps-

类型

DividerUi

Divider 各 slot 的自定义 class 配置。

字段类型说明
rootClassValue根容器(分隔线)的 class。
labelClassValue标签文本的 class。

DividerRootProps

根容器属性。继承 Radix Separator props,并增加 className、size 和 border。

字段类型说明
classNameClassValue根容器 class。
size'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'尺寸。
orientation'horizontal' | 'vertical'方向。
border'solid' | 'dashed' | 'dotted'边框样式。
decorativeboolean是否为装饰性分隔线。
asChildboolean将渲染委托给子元素。

DividerLabelProps

标签属性。继承 span 元素属性,并增加 className、size、align 和 orientation。

字段类型说明
classNameClassValue标签 class。
size'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'标签文本尺寸。
align'start' | 'center' | 'end'标签对齐位置。
orientation'horizontal' | 'vertical'分隔线方向,影响标签间距方向。

ClassValue

CSS 类名类型

string | null | undefined | Record<string, boolean> | ClassValue[]

On this page