Skip to content

スペーシング

余白は8段階(Padding01Padding08)で、64px から 1px まで管理します。現行コードは降順の命名(Padding01 が最大の64px)になっていますが、これは トークン で説明した通り radius.s/m/l の昇順とは向きが逆で、今後の実装で昇順の命名(Tailwind に近い刻み)へ移行する予定です。ここでは現行コードの値をそのまま示します。

基本は4pxグリッドですが、Padding07(2px) と Padding08(1px) は境界線・フォーカスリングのオフセット用の例外で、4の倍数ではありません。

src/styles/Spacing.tsSpacing オブジェクトから自動生成しています。

token px
Spacing.Padding01 64px
Spacing.Padding02 32px
Spacing.Padding03 24px
Spacing.Padding04 16px
Spacing.Padding05 8px
Spacing.Padding06 4px
Spacing.Padding07 2px
Spacing.Padding08 1px
  • Padding01(64px) 〜 Padding03(24px): ページ・セクション間の大きな余白。
  • Padding04(16px): コンポーネント内側の基本パディング(Button・Card など)。
  • Padding05(8px) 〜 Padding06(4px): アイコンとラベルの間隔など、近接要素の余白。
  • Padding07(2px) 〜 Padding08(1px): フォーカスリングのオフセットや境界線の太さなど、視覚的な微調整。
  • margin: 16px のように px を直接書かない。px(theme.spacing.padding04) かテーマ経由の値を使います。
  • 定義済みの8段階に無い中間値(padding04.5 のような値)を場当たり的に作らない。必要な場合はトークン自体の追加を検討します。
  • コンポーネントごとに独自の余白変数を作らない。同じ意味の余白は同じトークンを参照します。