mcpField
R
responsive-web-design

responsive-web-design

github.com/secondskyデザイン・UI240695 回インストール5 週間前に更新
リポジトリ

responsive-web-design について

画面サイズに応じて変化するインターフェースを、現代的な CSS で構築するためのスキルです。モバイルファーストのレイアウト、柔軟なグリッド、流動的な文字組み、レスポンシブ画像、ナビゲーションを扱います。

主な機能

  1. 01モバイルファーストのメディアクエリ
  2. 02柔軟な CSS Grid レイアウト
  3. 03clamp() による流動的な文字サイズ
  4. 04レスポンシブな画像サイズ
  5. 05Flexbox によるナビゲーション

活用シーン

  1. 01スマートフォンやタブレット向けのレイアウト作成
  2. 02画面幅に応じた見出しサイズの調整
  3. 03コンテナ内に収まる画像の表示
  4. 04狭い画面に合わせたナビゲーションの調整

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/secondsky/claude-skills --skill responsive-web-design

インストール後、Claude Code で/responsive-web-designを入力して読み込まれたか確認します。

詳細

レスポンシブ Web デザイン

最新の CSS 技術を使って、あらゆる画面サイズに対応するインターフェースを構築します。

モバイルファーストのメディアクエリ

/* Base: Mobile (320px+) */
.container {
  padding: 1rem;
}

/* Tablet (640px+) */
@media (min-width: 640px) {
  .container {
    padding: 2rem;
    max-width: 640px;
    margin: 0 auto;
  }
}

/* Desktop (1024px+) */
@media (min-width: 1024px) {
  .container {
    max-width: 1024px;
  }
}

柔軟なグリッド

.grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr; /* Mobile: single column */
}

@media (min-width: 640px) {
  .grid {
    grid-template-columns: repeat(2, 1fr); /* Tablet: 2 columns */
  }
}

@media (min-width: 1024px) {
  .grid {
    grid-template-columns: repeat(3, 1fr); /* Desktop: 3 columns */
  }
}

流動的なタイポグラフィ

/* Scales smoothly between breakpoints */
h1 {
  font-size: clamp(1.5rem, 4vw, 3rem);
}

p {
  font-size: clamp(1rem, 2vw, 1.25rem);
}

レスポンシブ画像

img {
  max-width: 100%;
  height: auto;
}

.hero-image {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

Flexbox によるナビゲーション

.nav {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

@media (min-width: 768px) {
  .nav {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

ベストプラクティス

  • まずモバイル向けのスタイルから作成します
  • 柔軟な単位(%、rem、vw)を使用します
  • 実際のデバイスでテストします
  • タッチターゲットは最低 48px を確保します
  • 読みやすい行の長さ(45~75 文字)を維持します
  • 2 次元レイアウトには CSS Grid、1 次元レイアウトには Flexbox を使用します

リソース

コメント