Khác với các framework CSS truyền thống (như Bootstrap) thường dùng các class dạng “semantic” như .btn, .navbar, Tailwind CSS sử dụng hệ thống utility class – mỗi class tương ứng với một thuộc tính CSS cụ thể.
Để khai thác triệt để sức mạnh của Tailwind, lập trình viên front-end cần nắm rõ cấu trúc đặt tên, logic tổ chức và quy tắc ưu tiên trong hệ thống class của nó.
⚙️ Cấu trúc cơ bản của một class Tailwind
Hầu hết các class của Tailwind CSS có cấu trúc theo dạng:
<property>-<value>
Ví dụ:
text-xl→ thiết lập kích thước chữbg-blue-500→ thiết lập màu nềnp-4→ padding 1remrounded-lg→ bo góc lớnflex→ sử dụng display: flexitems-center→ căn giữa theo trục dọc (align-items)
🧱 Các nhóm class chính trong Tailwind
Tailwind tổ chức class utility thành các nhóm dựa trên chức năng:
| Nhóm chức năng | Ví dụ class | Mô tả |
|---|---|---|
| Spacing | m-4, p-2, px-6, mt-1 | Margin, Padding các hướng |
| Layout | flex, grid, block | Hệ thống bố cục |
| Flexbox & Grid | justify-between, items-end | Canh chỉnh layout |
| Typography | text-lg, font-bold, leading-tight | Văn bản, kiểu chữ |
| Background | bg-red-100, bg-gradient-to-r | Màu nền, gradient |
| Border | border, border-gray-300, rounded-md | Viền và bo góc |
| Effect | shadow-lg, opacity-75 | Bóng đổ, độ mờ |
| Transitions | transition, duration-300 | Animation, hiệu ứng chuyển đổi |
| State variants | hover:bg-blue-600, focus:outline-none | Tương tác người dùng |
🌐 Responsive & State Variant
Tailwind cung cấp cú pháp rất rõ ràng để xử lý responsive design và trạng thái tương tác:
Responsive Prefix
sm:,md:,lg:,xl:,2xl:- Ví dụ:
md:text-2xl→ chữ to hơn khi màn hình ≥ 768px
State Variant
hover:,focus:,active:,disabled:,group-hover:- Ví dụ:
hover:bg-blue-700→ đổi màu nền khi hover
Kết hợp:
htmlSao chépChỉnh sửa<button class="bg-blue-500 hover:bg-blue-600 md:bg-green-500">
Nhấn vào tôi
</button>
💡 Kỹ thuật nâng cao
1. @apply trong CSS
Dùng để gom nhiều class Tailwind thành một class CSS tùy biến:
.btn-primary {
@apply bg-blue-600 text-white px-4 py-2 rounded hover:bg-blue-700;
}
2. Group và Peer
Tailwind hỗ trợ selector nâng cao bằng cách dùng group và peer:
<div class="group">
<p class="group-hover:text-red-500">Đổi màu khi hover vào div cha</p>
</div>
✅ Quy tắc sắp xếp class – Best Practices
Mặc dù không bắt buộc, bạn nên sắp xếp class theo nhóm để dễ đọc:
<!-- Tốt hơn -->
<div class="flex items-center justify-between p-4 bg-white shadow-md rounded-lg">
<!-- Khó đọc -->
<div class="shadow-md p-4 justify-between flex rounded-lg bg-white items-center">
🧠 Tổng Kết
Hiểu rõ cấu trúc class trong Tailwind CSS là nền tảng để bạn:
- Làm việc hiệu quả hơn, gọn gàng hơn
- Tối ưu thời gian đọc – viết mã giao diện
- Tự tin mở rộng dự án ở mọi quy mô
Tailwind không chỉ là “nhiều class”, mà là một hệ thống có tổ chức chặt chẽ. Khi bạn tư duy theo kiểu atomic design + utility-first, việc tạo giao diện không còn là việc “viết CSS”, mà là lắp ráp thông minh từ những khối nhỏ tối ưu.

