Efficiently Implementing Responsive Design:Claude Code 实战指南
了解efficiently implementing responsive design:Claude Code 实战. 包含实用代码示例。
响应式デザインを通过 Claude Code 实现
响应式デザインはWebサイトの必須要件ですが、断点设计や布局切换には多くの考慮が是必要的。使用 Claude Code「モバイル支持にして」と伝える只需合适的实现を生成可以。
モバイルファーストの布局
> モバイルファーストで响应式なダッシュボード布局を作って。
> 侧边栏、头部、メイン内容の3カラム结构にして。
export function DashboardLayout({ children }: { children: React.ReactNode }) {
const [sidebarOpen, setSidebarOpen] = useState(false);
return (
<div className="min-h-screen bg-gray-50">
{/* モバイルオーバーレイ */}
{sidebarOpen && (
<div
className="fixed inset-0 bg-black/50 z-40 lg:hidden"
onClick={() => setSidebarOpen(false)}
/>
)}
{/* サイドバー */}
<aside
className={`fixed inset-y-0 left-0 z-50 w-64 bg-white border-r transform transition-transform duration-200 lg:translate-x-0 lg:static lg:z-auto ${
sidebarOpen ? "translate-x-0" : "-translate-x-full"
}`}
>
<nav className="p-4 space-y-2">
<a href="#" className="block px-3 py-2 rounded-lg hover:bg-gray-100">
ダッシュボード
</a>
<a href="#" className="block px-3 py-2 rounded-lg hover:bg-gray-100">
ユーザー管理
</a>
<a href="#" className="block px-3 py-2 rounded-lg hover:bg-gray-100">
設定
</a>
</nav>
</aside>
{/* メインエリア */}
<div className="lg:ml-0 flex flex-col min-h-screen lg:flex-row">
<div className="flex-1">
{/* ヘッダー */}
<header className="sticky top-0 bg-white border-b px-4 py-3 flex items-center gap-4">
<button
onClick={() => setSidebarOpen(true)}
className="lg:hidden p-2 rounded-lg hover:bg-gray-100"
>
<span className="sr-only">メニューを開く</span>
☰
</button>
<h1 className="text-lg font-semibold">ダッシュボード</h1>
</header>
{/* コンテンツ */}
<main className="p-4 md:p-6 lg:p-8">{children}</main>
</div>
</div>
</div>
);
}
响应式网格
カード类型の内容を画面幅に応じて最適に布局します。
export function ResponsiveGrid({ items }: { items: CardItem[] }) {
return (
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4 md:gap-6">
{items.map((item) => (
<article
key={item.id}
className="bg-white rounded-lg shadow-sm border overflow-hidden hover:shadow-md transition-shadow"
>
<img
src={item.image}
alt={item.title}
className="w-full h-40 sm:h-48 object-cover"
loading="lazy"
/>
<div className="p-4">
<h3 className="font-semibold text-base md:text-lg line-clamp-2">
{item.title}
</h3>
<p className="text-sm text-gray-600 mt-2 line-clamp-3">
{item.description}
</p>
</div>
</article>
))}
</div>
);
}
容器查询の活用
CSS Container Queriesを使えば、親要素のサイズに応じた响应式支持が是可能的。
.card-container {
container-type: inline-size;
container-name: card;
}
.card {
display: grid;
grid-template-columns: 1fr;
gap: 1rem;
}
/* コンテナが400px以上なら横並び */
@container card (min-width: 400px) {
.card {
grid-template-columns: 200px 1fr;
}
}
/* コンテナが600px以上ならさらにリッチに */
@container card (min-width: 600px) {
.card {
grid-template-columns: 250px 1fr auto;
}
}
响应式タイポグラフィ
clamp()使用…的流動的な字体サイズの配置です。
:root {
--font-size-sm: clamp(0.8rem, 0.17vw + 0.76rem, 0.89rem);
--font-size-base: clamp(1rem, 0.34vw + 0.91rem, 1.19rem);
--font-size-lg: clamp(1.25rem, 0.61vw + 1.1rem, 1.58rem);
--font-size-xl: clamp(1.56rem, 1vw + 1.31rem, 2.11rem);
--font-size-2xl: clamp(1.95rem, 1.56vw + 1.56rem, 2.81rem);
--font-size-3xl: clamp(2.44rem, 2.38vw + 1.85rem, 3.75rem);
}
h1 { font-size: var(--font-size-3xl); }
h2 { font-size: var(--font-size-2xl); }
h3 { font-size: var(--font-size-xl); }
p { font-size: var(--font-size-base); }
响应式表格
モバイルでも表格数据を見やすくする方法です。
export function ResponsiveTable({ data, columns }: TableProps) {
return (
<>
{/* デスクトップ表示 */}
<div className="hidden md:block overflow-x-auto">
<table className="w-full">
<thead>
<tr className="border-b">
{columns.map((col) => (
<th key={col.key} className="px-4 py-3 text-left text-sm font-medium">
{col.label}
</th>
))}
</tr>
</thead>
<tbody>
{data.map((row, i) => (
<tr key={i} className="border-b hover:bg-gray-50">
{columns.map((col) => (
<td key={col.key} className="px-4 py-3 text-sm">
{row[col.key]}
</td>
))}
</tr>
))}
</tbody>
</table>
</div>
{/* モバイル:カード表示 */}
<div className="md:hidden space-y-4">
{data.map((row, i) => (
<div key={i} className="bg-white border rounded-lg p-4 space-y-2">
{columns.map((col) => (
<div key={col.key} className="flex justify-between">
<span className="text-sm text-gray-500">{col.label}</span>
<span className="text-sm font-medium">{row[col.key]}</span>
</div>
))}
</div>
))}
</div>
</>
);
}
ダークモードとの組み合わせはダークモード实现を、デザインシステム全体の设计はデザインシステム构建。
总结
借助 Claude Code,モバイルファーストの布局设计、容器查询の活用、响应式表格まで、响应式デザインの複雑な实现を高效地完成可以。「这个画面をモバイル支持にして」と依頼する只需す。
详情请参阅Claude Code官方文档。
免费 PDF:5 分钟看懂 Claude Code 速查表
只需留下邮箱,我们就会立即把这份 A4 一页速查表 PDF 发送给你。
我们会严格保护你的个人信息,绝不发送垃圾邮件。
把 Claude Code 变成真正能带来结果的工作流
先领取中文说明的免费 PDF,再进入英文商品页选择合适的教材。如果你需要团队落地、流程设计或内容变现支持,也可以直接咨询。
本文作者
Masa
深度使用 Claude Code 的工程师。运营 claudecode-lab.com——一个涵盖 10 种语言、超过 2,000 页内容的科技媒体。
相关文章
Claude Code 的 7 个 CLAUDE.md 模板 | 可以直接复制到真实项目
面向个人应用、内容站、API、团队仓库和遗留代码库的 7 个实用 CLAUDE.md 模板,附常见失败案例。
Claude Code Approval 与 Sandbox 指南 | 日常安全使用的实战设置
用可直接参考的 settings、hooks、失败案例与流程示例,讲清楚 Claude Code 的 allow / ask / deny / sandbox 应该怎么分。
Claude Code 完全入门指南 2026 | 从零到实战应用的 7 个步骤
专为 Claude Code 新手打造的完整入门指南。从安装到融入真实开发工作流——涵盖 Masa 刚开始使用时踩过的所有坑。