CodeConnect Design System

スペーシング

CodeConnect Design Systemのスペーシングシステムは、一貫した余白とレイアウトを実現するために設計されています。予測可能なスケールにより、視覚的なリズムとバランスを保ちます。

スペーシングスケール

8ポイントグリッドシステムに基づいた、調和の取れたスペーシングスケール。

Extra Small (xs)
0.25rem / 4pxvar(—spacing-xs)

アイコンとテキストの間、チップ内の余白など、最小限のスペーシング

Small (sm)
0.5rem / 8pxvar(—spacing-sm)

ボタンのパディング、フォーム要素の内部余白

Medium (md)
1rem / 16pxvar(—spacing-md)

カード内のパディング、セクション間の余白(標準)

Large (lg)
1.5rem / 24pxvar(—spacing-lg)

コンテナのパディング、セクション間の余白(やや広め)

Extra Large (xl)
2rem / 32pxvar(—spacing-xl)

大きなセクション間の余白、ページのパディング

2X Large (2xl)
3rem / 48pxvar(—spacing-2xl)

メインセクション間の余白、ヒーローエリアのパディング

3X Large (3xl)
4rem / 64pxvar(—spacing-3xl)

大きなレイアウトセクション間の余白

4X Large (4xl)
6rem / 96pxvar(—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)

次のステップ

次のステップ