Separator
コンテンツを水平または垂直に区切る細線です。ラベルを付けたり、見た目だけの線として装飾モードにしたりできます。
HextaUI
Components that feel great to use and to write.
pnpm dlx shadcn@latest add https://hextaui.com/r/separator.jsonコンポーネント、HextaUIのテーマトークン、依存するHextaUIコンポーネントを追加します。
まだ追加していない場合は、グローバルCSSにテーマトークンを追加してください。
依存関係をインストールします。
pnpm add @base-ui/react cn次のコードをコピーしてプロジェクトに貼り付けてください。
components/ui/separator.tsx インポートパスは、お使いのプロジェクト構成に合わせて更新してください。
線の太さはどの画面でも物理1ピクセルで、境界線と同じ細い線なので、周囲のカードや入力欄と揃います。間隔は親の gap かマージンで付けてください。
垂直
orientation="vertical" では、線が flex の行の高さまで伸びます。flex の行の外では、高さを指定してください。
Label
子要素は線の中央に置かれ、線が両側の空間を埋めます。
配置
align はラベルを start または end に移動します。セクションや日付の見出しに向いています。アイコンはテキストに合わせたサイズになります。
縦ラベル
ラベル付きの縦の separator は、テキストを正立のままにして、その上下に線を描画します。
装飾
decorative は見た目だけの線をスクリーンリーダーから隠すので、すでに単独で読める行の間に separator が読み上げられません。
インライン
段落の中など <div> が使えない場所で <span> を出力するには、render を使います。
長いコンテンツ
長いラベルは折り返され、区切りのない文字列は改行されますが、両側には短い線が残ります。
右から左
start と end は文字の読み方向に従います。
- ラベルのない separator は、
<hr>と同様にrole="separator"とaria-orientationを持ちます。 decorativeを指定するとrole="none"になり、スクリーンリーダーは読み飛ばします。- ラベル付きの separator には role がありません。separator の role を付けるとテキストがプレゼンテーショナルになってしまうため、ラベルはプレーンテキストとして読み上げられます。
Base UI の Separator 上に構築されています。<div> を描画し、その属性を受け付けます。
| プロパティ | 型 | デフォルト |
|---|---|---|
orientation | "horizontal" | "vertical" | "horizontal" |
decorative見た目だけの線を、スクリーンリーダーから隠します。 | boolean | false |
children線の中に描画するラベル。単純な線にするには省略します。 | ReactNode | – |
align線に沿ったラベルの位置。 | "start" | "center" | "end" | "center" |
className | string | (state) => string | – |
render | ReactElement | (props, state) => ReactElement | <div> |
| 属性 | 説明 |
|---|---|
data-slot="separator" | CSS でセパレーターを指定します。 |
data-orientation | "horizontal" または "vertical"。 |
data-content | separator にラベルがあるときに付きます。 |
data-align | ラベルがある場合の、ラベルの配置。 |
data-slot="separator-label" | ラベルを囲む要素。 |
- Accordionそれぞれがパネルを表示する見出しの積み重ねです。途中で反転できる高さのモーションを持ち、閉じている間もパネルの内容を検索できます。
- Aspect ratioメディアの読み込み前も形を保ち、読み込み中はシマー表示になり、メディアをフェードインさせ、失敗時はフォールバックを表示するボックスです。
- Carouselネイティブのスクロールスナップによるスライドです。タッチでの慣性、マウスドラッグ、矢印キー、ドット、サムネイル、適切なタイミングで一時停止する自動再生に対応します。
- Collapsible高さのモーションで表示と非表示を切り替えるパネルです。途中で反転でき、レイアウトが跳ねません。
- Resizableドラッグで分割できるパネルです。ホバーで目覚める控えめな区切り線、リセットや折りたたみで滑らかに動くサイズ、永続化されるレイアウトに対応します。
- Scroll area最小限のスクロールバーを備えたネイティブスクロールです。端は続きがある側だけフェードし、最後の項目を半分で切って見せるピークも任意で使えます。