Skip to content

利用 shadcn/ui 与 Tailwind CSS 构建现代响应式界面

解决界面开发中“样式难统一、组件开发慢、可访问性差”的问题,通过一套结合了原子化 CSS 和可组合组件的方案,实现从视觉设计到代码实现的快速闭环。

为什么需要这个技能

在现代 Web 开发中,从零开始编写 CSS 容易导致样式冗余且难以维护。而传统的组件库往往过于沉重,难以自定义。

本技能通过 shadcn/ui(基于 Radix UI)提供了极强的可访问性(Accessibility)基建,配合 Tailwind CSS 的原子化类名,让开发者无需离开 HTML 即可完成复杂的布局和样式定制。同时引入 Canvas 视觉设计理念,确保 UI 不仅仅是功能的堆砌,更具备专业的设计感和一致的视觉节奏。

适用场景

  • 使用 Next.js, Vite, Remix 或 Astro 等 React 框架构建前端项目。
  • 需要快速实现一套包含暗黑模式、响应式布局的完整设计系统。
  • 构建复杂交互组件,如数据表格(Data Table)、命令面板(Command Palette)或多步骤表单。
  • 需要确保界面符合 ARIA 标准,支持键盘导航和屏幕阅读器。
  • 进行快速原型开发,需要即时且高质量的视觉反馈。

核心工作流

1. 环境初始化

首先安装 Tailwind CSS 并初始化 shadcn/ui 配置:

bash
npx shadcn@latest init

根据提示配置框架、TypeScript 路径及主题偏好。

2. 组件按需引入

不再安装巨大的库,而是通过 CLI 将所需组件直接添加到代码库中,方便后续深度定制:

bash
npx shadcn@latest add button card dialog form

3. 原子化样式组合

利用 Tailwind 的 Utility-first 模式进行布局。例如,创建一个响应式网格卡片:

tsx
import { Button } from "@/components/ui/button"
import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card"

export function Dashboard() {
  return (
    <div className="container mx-auto p-6 grid gap-6 md:grid-cols-2 lg:grid-cols-3">
      <Card className="hover:shadow-lg transition-shadow">
        <CardHeader>
          <CardTitle className="text-2xl font-bold">数据分析</CardTitle>
        </CardHeader>
        <CardContent className="space-y-4">
          <p className="text-muted-foreground">查看实时指标</p>
          <Button variant="default" className="w-full">
            查看详情
          </Button>
        </CardContent>
      </Card>
    </div>
  )
}

4. 主题与视觉增强

通过修改 CSS 变量实现一键换肤,并利用 dark: 前缀处理暗黑模式,确保在所有屏幕尺寸下均有良好的视觉层级。

下载和安装

下载 ckm:ui-styling 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐