コンテンツにスキップ

コラプシブル

hc-collapsible は単一の表示 / 非表示ディスクロージャです — 1 つの 領域のための、軽量でリンク風の「もっと見る」トグル。ネイティブの <details> / <summary> 要素の上の純 CSS です: キーボード処理と open 状態はブラウザが所有します。JavaScript なし。

別名: 折りたたみ、ディスクロージャー。

Show details

This region is hidden until the user opens it. It is great for secondary details, advanced options, or a long “read more” passage that would otherwise crowd the page.

最初から展開しておくには、<details>open 属性を足します。

パーツ用途
.hc-collapsible<details> 要素(展開するには open を追加)。
.hc-collapsible__trigger<summary> — クリック可能なトグル。
.hc-collapsible__iconシェブロン。開くと 180° 回転。
.hc-collapsible__content表示される領域。

開閉時に領域は高さをアニメーションします — 純 CSS、JavaScript なし — interpolate-size: allow-keywords つきの ::details-content によって(高さが auto との間でトランジション できます)。シェブロンの回転も高さも prefers-reduced-motion: reduce を尊重します。

  • <details> / <summary> が正しいセマンティクスを無料でくれます: summary は aria-expanded をトグルするボタンで、キーボード操作可能 (Enter / Space)、タブ順にも入っています — 足す ARIA はありません。
  • シェブロンは装飾のまま(aria-hidden="true")にしてください。 summary のテキストがアクセシブルな名前なので、明確なアクション (「詳細を表示」)として書いてください。
  • 折りたたみ中もコンテンツは DOM に残るため、高さアニメーションを サポートするエンジンでは、ページ内検索(と検索リンク)が引き続き 届きます。
トークンパス用途
collapsible.trigger.gapラベルとシェブロンの間のギャップ。
collapsible.trigger.padding-x / -yトリガーのパディング。
collapsible.trigger.font-weightトリガーのウェイト。
collapsible.trigger.fg / hover-fgトリガー(リンク)の色。
collapsible.icon.sizeシェブロンのサイズ。
collapsible.icon.transition-durationシェブロンの回転速度。
collapsible.content.fg表示されるテキストの色。
collapsible.content.padding-block-startトリガーの下のギャップ。
collapsible.content.transition-duration高さアニメーションの速度。
生成される CSS 変数を表示
--hc-collapsible-trigger-gap | -trigger-padding-x | -trigger-padding-y
--hc-collapsible-trigger-font-weight | -trigger-fg | -trigger-hover-fg
--hc-collapsible-icon-size | -icon-transition-duration
--hc-collapsible-content-fg | -content-padding-block-start
--hc-collapsible-content-transition-duration
  • アコーディオン — 任意の排他モードつきの、コラプシブルなセクションのグループ。
  • カード — 二次的な詳細の コラプシブルブロックの定番コンテナ。