Skip to content

レスポンシブ

このライブラリはこれまでレスポンシブ対応を前提にしていませんでした。フォーム系部品や Dialog は画面幅に関わらず同じ幅・同じレイアウトで表示されます。Discussion #63 の決定に基づき、今後は sp(スマートフォン) / tablet(タブレット) / pc(PC)の3段階のブレークポイントを導入する計画です。

トークン 想定範囲 備考
breakpoint.sp 〜767px スマートフォン。既定(モバイルファースト)
breakpoint.tablet 768px〜1023px タブレット
breakpoint.pc 1024px〜 PC

mediaQuery.tablet / mediaQuery.pc は上記の min-width を使った @media 文字列を提供し、コンポーネント側は個別に px を書かずにこれを参照する想定です。

  • モバイルファースト: 既定のスタイルを sp 向けに書き、mediaQuery.tablet 以上で上書きする方向を基本にします。
  • どの部品がブレークポイントの影響を受けるか: Dialog / ConfirmDialog(幅の切り替え)、Table(横スクロール or カード化)、StepIndicator(横並び or 縦並び)などが候補です。現行実装ではこれらはすべて固定レイアウトです。
  • ブレークポイントの境界値は breakpointmediaQuery で共有します。個別に px を書くと、判定のずれ(境界値付近で片方だけ切り替わる)が起きます。
  • @media (min-width: 768px) のように px を直接書かない(実装後は theme.mediaQuery.* を参照します)。
  • コンポーネントごとに異なる境界値を使わない(例: ある部品は768px、別の部品は800pxで切り替わる)。
  • JS 側で window.innerWidth を個別に判定しない。CSS のメディアクエリで完結させます。