Skip to content
fandhe-frontendcore v0.4.3
GitHub

List

fandhe-frontend-pre-styled-ui の list mod が提供するスタイル済み List 部品です。

関連 API: fandhe-frontend-pre-styled-ui API

Demo

素の ul/ol/li 意味論をそのまま styled 化したリスト部品。順序なし(marker variant)・順序あり・plain + indicator(カスタムマーカー)・ネストリスト(イシュー #2056)の 4 種。

  • SSR
  • SPA
  • SSG
  1. 計画
  2. 実装
  3. 検証
  • 既定エスケープ
  • forbid(unsafe_code)
  • フロントエンド
  • バックエンド
    • SSR
    • SSG

Demo: scroll-driven reveal(JS 不要)

対応ブラウザ(animation-timeline: view() サポート)ではスクロールに応じて各行がフェードインします。非対応ブラウザでは @supports ブロックごと無視されるため、常に通常表示のまま安全に劣化します(JS 不要)。

Row 1
Row 2
Row 3
Row 4
Row 5
Row 6

Demo: stagger(JS 不要)

ページ読み込み時に上から順番に遅延フェードインします(JS 不要、CSS animation-delay の順送り計算のみ)。prefers-reduced-motion: reduce では遅延・アニメーションとも消えます。

Item 1
Item 2
Item 3
Item 4
Item 5
Item 6

Demo: scroll-linked parallax(JS 不要)

対応ブラウザではスクロールに応じて行が上方向へ視差移動します。非対応ブラウザでは @supports ブロックごと無視され、常に静止したまま安全に劣化します(JS 不要)。

Parallax layer

Demo: scroll-linked sticky progress(JS 不要)

対応ブラウザではビューポートに完全に収まっている間、行が強調表示(不透明度・拡大率)へ変化します。非対応ブラウザでは @supports ブロックごと無視され、常に通常表示のまま安全に劣化します(JS 不要)。

Sticky progress row

Features

  • root(ul/ol)/item(li)/indicator(span aria-hidden)の 3 パーツで構成する
  • ListType(Unordered/Ordered)でレンダリングするタグそのものを選ぶ
  • ListVariant(marker/plain)でマーカー表示の有無を切り替える
  • indicator は常時 aria-hidden="true"(呼び出し側が外せない fail-closed)
  • marker(箇条書きの点・番号)は本文より淡いグレー(fg.muted)で描く
  • indicator はテキストとの間隔・行頭揃えを持ち、plain variant の item は複数行でも行頭が揃う

Anatomy

root
  item
    indicator

API Reference

Arguments

NameTypeDefaultDescription
list_typeListTypeUnorderedレンダリングするタグ(ul/ol)を選ぶ引数。
variantListVariantMarkerマーカー(箇条書き記号・番号)表示の有無。

Examples

順序なし・順序ありの 2 種

ListType で ul/ol を切り替えます。

  • SSR
  • SPA
  • SSG
  1. 計画
  2. 実装
  3. 検証

plain + indicator(カスタムマーカー)

ListVariant::Plain と indicator を組み合わせ、アイコン等のカスタムマーカーを行頭に揃えて表示します。

  • 既定エスケープ
  • forbid(unsafe_code)

ネストリスト

item の子として list::root を再帰的に渡すと、ブラウザ既定のマーカー切り替え(外側 disc・内側 circle)で入れ子表示になります(イシュー #2056)。

  • フロントエンド
  • バックエンド
    • SSR
    • SSG