Trình tạo Theme shadcn/ui

Chọn một màu chủ đạo, sinh trọn bộ biến CSS HSL cho theme shadcn/ui, đảm bảo tương phản chuẩn WCAG.

0.50rem

Đã tự động hiệu chỉnh để đạt tối thiểu tỷ lệ tương phản WCAG AA (4.5:1) cho chữ trên nền Primary và Destructive.

Xem trước trực tiếp
Acme DashboardPro
Doanh thu
$12,480
+12.4%
Người dùng
1,204
Người dùng mới: 48
Tăng trưởng
+18.2%
-2.1% MoM
Mời thành viên
Gửi lời mời qua email để thêm người vào workspace.
Thông báo email
Đang hoạt độngBetav2.1.0Hết hạn
#6366F1Độ bo góc (Radius): 0.50remMặc định
FAQ
Nhóm Thiết kế (Design)•Tài liệu kỹ thuật & Đặc tả RFC

Tài liệu & Hướng dẫn chuyên sâu: Trình tạo Theme shadcn/ui (shadcn/ui Theme Builder)

1. Tổng quan & Nguyên lý hoạt động

shadcn/ui định nghĩa toàn bộ bảng màu của một ứng dụng thông qua các biến CSS dạng HSL (ví dụ --background, --primary, --muted) được đọc bởi Tailwind CSS. Việc tự tay cân chỉnh 19 biến màu này cho cả Light và Dark mode, sao cho vừa hài hòa vừa đảm bảo độ tương phản đọc được (WCAG AA), là một công việc tốn thời gian và dễ sai sót. Trình tạo Theme của Verdbench giải quyết vấn đề này: bạn chỉ cần chọn một màu chủ đạo (Primary) duy nhất, công cụ sẽ tính toán toán học trên không gian màu HSL (xoay Hue, điều chỉnh Saturation/Lightness) để sinh ra toàn bộ bộ token còn lại — card, popover, secondary, muted, accent, destructive, border, ring — cho cả hai chế độ sáng/tối, đồng thời tự động kiểm tra và hiệu chỉnh độ tương phản chữ/nền để đảm bảo đạt chuẩn accessibility.

2. Ưu thế kiến trúc & Tính năng nổi bật

Sinh theme từ 1 màu duy nhất

Chỉ cần chọn mã HEX của màu Primary, thuật toán tự suy ra toàn bộ 19 biến CSS còn lại dựa trên Hue của màu đó, không cần tự phối màu thủ công.

Tự động đảm bảo độ tương phản WCAG AA

Mỗi cặp nền/chữ (đặc biệt là Primary và Destructive) được kiểm tra tỷ lệ tương phản bằng thuật toán luminance chuẩn W3C; nếu chưa đạt 4.5:1, độ sáng (Lightness) sẽ tự động được nhích ra xa vùng "xám chết" cho đến khi đạt chuẩn.

Xem trước trực tiếp & xuất code tức thì

Dashboard mẫu dựng từ chính các component shadcn/ui thật (Button, Card, Badge, Input, Switch) phản ứng ngay khi đổi màu, bo góc hay chế độ sáng/tối — không cần build lại ứng dụng để xem kết quả.

3. Cấu trúc các biến CSS được sinh ra

Toàn bộ theme được xuất dưới dạng khối @layer base chuẩn shadcn/ui (Tailwind v3/v4 kinh điển), dùng định dạng HSL thuần (không bọc hàm hsl()) để tương thích với mọi cấu hình tailwind.config đã dùng hsl(var(--token)):

Nhóm biếnVai tròNguồn gốc tính toán
--background / --foregroundNền trang & chữ chínhGiữ hue của Primary ở độ bão hòa rất thấp (gần trung tính)
--primary / --primary-foregroundNút & thành phần nhấn mạnh chínhChính là màu HEX bạn chọn, đã hiệu chỉnh Lightness để đạt tương phản
--secondary / --muted / --accentNền phụ, trạng thái hover, vùng ít nổi bậtCùng hue Primary, Lightness cao (light) hoặc thấp (dark), Saturation giảm dần
--destructiveHành động nguy hiểm (xóa, hủy)Hue đỏ cố định (không phụ thuộc Primary), tự hiệu chỉnh để luôn đọc rõ
--border / --input / --ringViền, khung input, vòng focusTrung tính nhạt (light) / đậm (dark); --ring dùng lại màu Primary
--radiusĐộ bo góc toàn hệ thốngLấy trực tiếp từ thanh trượt Radius (0 – 2rem)

4. Câu hỏi thường gặp (FAQ)

Giải đáp các thắc mắc phổ biến của lập trình viên khi sử dụng tiện ích Trình tạo Theme shadcn/ui (shadcn/ui Theme Builder).

Đây là quy ước gốc của shadcn/ui: biến CSS chỉ lưu 3 thành phần H S% L%, còn file tailwind.config hoặc globals.css của bạn sẽ bọc nó lại bằng hsl(var(--primary)) khi dùng. Giữ đúng định dạng này giúp bạn dán thẳng khối code vào dự án shadcn/ui có sẵn mà không cần sửa gì thêm.