Card
コンテンツをグループ化し、視覚的に区別するカードコンポーネント。
基本的な使い方
Preview
カードタイトル
カードの説明文がここに入ります
カードのメインコンテンツがここに入ります。
コンポーネント構成
Cardは以下のサブコンポーネントで構成されています。
Card
カード全体のコンテナ。
CardHeader
カードのヘッダー部分。CardTitleとCardDescriptionを含みます。
CardTitle
カードのタイトル(<h3> 要素)。
CardDescription
カードの説明文。
CardContent
カードのメインコンテンツ部分。
CardFooter
カードのフッター部分。アクションボタンなどを配置します。
完全な構成
すべてのサブコンポーネントを使用した例。
Preview
サービス紹介
私たちのサービスについての詳細情報
高品質なWebアプリケーション開発サービスを提供しています。 最新の技術スタックを使用し、スケーラブルで保守性の高いコードを書きます。
シンプルなカード
ヘッダーとコンテンツのみのシンプルな構成。
Preview
お知らせ
新機能がリリースされました。
コンテンツのみ
ヘッダーなしでコンテンツのみを表示。
Preview
ここにコンテンツが入ります
カードのグリッド
複数のカードをグリッドレイアウトで配置。
Preview
デザイン
UI/UXデザイン
ユーザー中心のデザイン
開発
Web開発
モダンな技術スタック
運用
保守・運用
24時間サポート
カスタムスタイル
className propでカスタムスタイルを適用できます。
Preview
特別なお知らせ
重要な情報
このカードは特別なスタイルが適用されています。
ホバースタイルの適用
Cardコンポーネントはデフォルトではホバースタイルを持ちません。クリック可能なカードには、className propで明示的にホバースタイルを追加してください。
推奨ホバースタイル
hover:shadow-lg- シャドウを強調hover:scale-[1.01]- 控えめな拡大(1%)hover:border-brand/20- ブランドカラーのボーダーtransition-all- スムーズなトランジション(Cardにデフォルト設定済み)
クリック可能なカードの例
Preview
静的カードの例
Preview
静的カード
ホバー効果なし、情報表示のみ。
Props
Card
| Prop | Type | Default | Description |
|---|---|---|---|
className | string | - | 追加のCSSクラス |
children | ReactNode | - | カードの内容 |
CardHeader
| Prop | Type | Default | Description |
|---|---|---|---|
className | string | - | 追加のCSSクラス |
children | ReactNode | - | ヘッダーの内容 |
CardTitle
| Prop | Type | Default | Description |
|---|---|---|---|
className | string | - | 追加のCSSクラス |
children | ReactNode | - | タイトルテキスト |
CardDescription
| Prop | Type | Default | Description |
|---|---|---|---|
className | string | - | 追加のCSSクラス |
children | ReactNode | - | 説明文 |
CardContent
| Prop | Type | Default | Description |
|---|---|---|---|
className | string | - | 追加のCSSクラス |
children | ReactNode | - | コンテンツ |
CardFooter
| Prop | Type | Default | Description |
|---|---|---|---|
className | string | - | 追加のCSSクラス |
children | ReactNode | - | フッターの内容 |
アクセシビリティ
- セマンティックHTML: 適切なHTML要素を使用(
<h3>,<p>,<div>) - 階層構造: 明確なコンテンツ階層を提供
- 柔軟性: さまざまなコンテンツタイプに対応
使用例
サービス紹介カードの実装例:
import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter, Button } from '@codeconnect-llc/design-system'
export function ServiceCards() { const services = [ { title: 'Webアプリ開発', description: 'モダンなWebアプリケーション', content: 'React, TypeScript, Tailwind CSSを使用した高品質な開発', }, { title: 'UIデザイン', description: 'ユーザー体験を重視', content: 'Figmaを使用したプロトタイプ作成から実装まで', }, { title: 'コンサルティング', description: '技術戦略の立案', content: 'アーキテクチャ設計からチーム育成まで', }, ]
return ( <div className="grid grid-cols-1 md:grid-cols-3 gap-6"> {services.map((service) => ( <Card key={service.title}> <CardHeader> <CardTitle>{service.title}</CardTitle> <CardDescription>{service.description}</CardDescription> </CardHeader> <CardContent> <p className="text-text-secondary">{service.content}</p> </CardContent> <CardFooter> <Button variant="outline" size="sm"> 詳しく見る </Button> </CardFooter> </Card> ))} </div> )}