responsive-web-design について
画面サイズに応じて変化するインターフェースを、現代的な CSS で構築するためのスキルです。モバイルファーストのレイアウト、柔軟なグリッド、流動的な文字組み、レスポンシブ画像、ナビゲーションを扱います。
主な機能
- 01モバイルファーストのメディアクエリ
- 02柔軟な CSS Grid レイアウト
- 03clamp() による流動的な文字サイズ
- 04レスポンシブな画像サイズ
- 05Flexbox によるナビゲーション
活用シーン
- 01スマートフォンやタブレット向けのレイアウト作成
- 02画面幅に応じた見出しサイズの調整
- 03コンテナ内に収まる画像の表示
- 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 を使用します
リソース
コメント
Markdown 対応