スペーシング
CodeConnect Design Systemのスペーシングシステムは、一貫した余白とレイアウトを実現するために設計されています。予測可能なスケールにより、視覚的なリズムとバランスを保ちます。
スペーシングスケール
8ポイントグリッドシステムに基づいた、調和の取れたスペーシングスケール。
Extra Small (xs)
0.25rem / 4px
var(—spacing-xs)アイコンとテキストの間、チップ内の余白など、最小限のスペーシング
Small (sm)
0.5rem / 8px
var(—spacing-sm)ボタンのパディング、フォーム要素の内部余白
Medium (md)
1rem / 16px
var(—spacing-md)カード内のパディング、セクション間の余白(標準)
Large (lg)
1.5rem / 24px
var(—spacing-lg)コンテナのパディング、セクション間の余白(やや広め)
Extra Large (xl)
2rem / 32px
var(—spacing-xl)大きなセクション間の余白、ページのパディング
2X Large (2xl)
3rem / 48px
var(—spacing-2xl)メインセクション間の余白、ヒーローエリアのパディング
3X Large (3xl)
4rem / 64px
var(—spacing-3xl)大きなレイアウトセクション間の余白
4X Large (4xl)
6rem / 96px
var(—spacing-4xl)ページセクション間の大きな余白、ランディングページのスペーシング
使用方法
CSS変数として使用
/* カード内のパディング */.card { padding: var(--spacing-md);}
/* セクション間の余白 */.section { margin-bottom: var(--spacing-2xl);}
/* ボタンのパディング */.button { padding: var(--spacing-sm) var(--spacing-md);}
/* アイコンとテキストのギャップ */.icon-text { display: flex; gap: var(--spacing-xs);}Tailwind CSSクラスとして使用
{/* パディング */}<div className="p-md"> <h2 className="mb-sm">タイトル</h2> <p className="mb-md">本文テキスト</p></div>
{/* マージン */}<section className="mt-2xl mb-3xl"> <div className="mx-lg"> コンテンツ </div></section>
{/* ギャップ(Flexbox/Grid) */}<div className="flex gap-sm items-center"> <Icon name="check" /> <span>アイコン付きテキスト</span></div>
<div className="grid grid-cols-3 gap-lg"> <div>カード 1</div> <div>カード 2</div> <div>カード 3</div></div>Stackコンポーネントを使用
import { Stack, Box } from '@codeconnect-llc/design-system'
{/* 垂直スタック */}<Stack direction="vertical" spacing="md"> <Box>アイテム 1</Box> <Box>アイテム 2</Box> <Box>アイテム 3</Box></Stack>
{/* 水平スタック */}<Stack direction="horizontal" spacing="sm" align="center"> <Icon name="star" /> <span>評価</span> <Badge>4.5</Badge></Stack>スペーシングのベストプラクティス
一貫性のあるスペーシング
- スケールに従う: カスタム値ではなく、定義されたスペーシングトークンを使用
- 視覚的ヒエラルキー: 関連する要素は近く、無関係な要素は遠くに配置
- レスポンシブ対応: 画面サイズに応じてスペーシングを調整
- ホワイトスペース: 適切な余白により、コンテンツの読みやすさが向上
8ポイントグリッドシステム
なぜ8ポイントグリッド?
8ポイントグリッドシステムは、デザインの一貫性とスケーラビリティを実現します。8は2, 4で割り切れるため、レスポンシブデザインに最適です。
- 予測可能: すべてのスペーシングが8の倍数で調和
- 柔軟性: xs (4px) から 4xl (96px) まで幅広い範囲をカバー
- 開発効率: デザイナーと開発者が共通の言語で会話できる
実例: カードレイアウト
カードタイトル
このカードは、デザインシステムのスペーシングトークンを使用して構築されています。
padding: md (16px) | gap: sm (8px) | margin-bottom: xs (4px)