CSS sang Tailwind

Việc chuyển một bảng định kiểu cũ sang Tailwind từng quy tắc một khá tẻ nhạt. Công cụ chuyển đổi này nhận một khối CSS thuần – có hoặc không có bộ chọn và dấu ngoặc nhọn – rồi viết lại mỗi khai báo thành một lớp tiện ích Tailwind. Các cặp được nhận diện sẽ ánh xạ tới các tiện ích được đặt tên như flex, items-center hoặc rounded-lg; mọi thứ còn lại sẽ quay về cú pháp giá trị tùy ý của Tailwind là [property:value], nhờ đó không có gì bị bỏ qua một cách âm thầm.

Bộ chuyển đổi xử lý CSS của bạn như thế nào

  1. 1

    Dán mã CSS

    Chỉ cần nhập một quy tắc đầy đủ như `.card { padding: 16px; border-radius: 8px; }` hoặc chỉ các khai báo nằm trong dấu ngoặc nhọn.

  2. 2

    Trình phân tích cú pháp loại bỏ chú thích

    Các chú thích khối `/* ... */` sẽ được loại bỏ trước khi các khai báo được tách bằng dấu chấm phẩy.

  3. 3

    Mỗi khai báo đều được ánh xạ

    Các thuộc tính phổ biến được ánh xạ tới các tiện ích Tailwind thực sự (khoảng cách, bán kính, cỡ chữ, flex, hiển thị, căn chỉnh văn bản); các thuộc tính chưa xác định sẽ quay về `[prop:value]`.

  4. 4

    Sao chép và áp dụng

    Dán danh sách lớp vào thuộc tính `class` của phần tử HTML tương ứng.

Những gì được ánh xạ tới các tiện ích được đặt tên

Chủ đề mặc định của Tailwind không thể bao quát mọi giá trị CSS có thể xảy ra; do đó, công cụ chuyển đổi ưu tiên những giá trị có sẵn tiện ích được đặt tên, và ở những trường hợp còn lại sẽ dùng các giá trị tùy ý.

Ánh xạ trực tiếp

Khai báo CSS Tiện ích Tailwind
display: flex flex
display: grid grid
display: none hidden
justify-content: center justify-center
align-items: center items-center
text-align: center text-center
font-weight: bold font-bold
cursor: pointer cursor-pointer
overflow: hidden overflow-hidden

Các phép ánh xạ dựa trên quy mô

Các giá trị padding, margin, width, height và kích thước tối thiểu/tối đa đều được chia cho 4 để tạo ra một bước giãn cách của Tailwind, ví dụ: padding: 16px trở thành p-4, width: 32px trở thành w-8. Những giá trị không rơi vào một bước tròn trịa sẽ chuyển sang giá trị tùy ý trên tiện ích tương ứng; chẳng hạn, width: 37px trở thành w-[37px].

border-radius được ánh xạ tới tiện ích được đặt tên gần nhất (rounded-sm, rounded-md, rounded-lg, rounded-xl, rounded-2xl). Các kích thước lớn hơn 16px sẽ chuyển thành rounded-full – phù hợp với các phần tử hình viên thuốc nhưng không phù hợp với những bán kính lớn bất thường; vui lòng kiểm tra kết quả trước khi triển khai.

font-size chuyển đổi thành text-xs và sau đó tiếp tục chuyển đổi thành text-3xl dựa trên các ngưỡng điểm ảnh.

Những lưu ý quan trọng

  • Các lớp giả (pseudo-classes), truy vấn phương tiện (media queries) và bộ chọn (selectors) không được dịch; chỉ các khai báo nằm trong dấu ngoặc nhọn mới được dịch. Bạn vẫn cần tự thêm các biến thể như hover: hoặc md:.
  • Màu sắc sẽ rơi vào các giá trị tùy ý như text-[#1f2937] do công cụ chuyển đổi không biết bảng màu chủ đề Tailwind của bạn. Hãy thay thủ công bằng text-gray-800 hoặc một token tùy chỉnh.
  • Các thuộc tính viết tắt mà bạn hiếm khi sử dụng (border, background, transition) sẽ được xuất ra nguyên văn là [property:value] – vui lòng kiểm tra chúng trước khi triển khai.

Câu hỏi thường gặp

Các tên công cụ được sử dụng trong đầu ra đều ổn định trên cả phiên bản Tailwind v3 và v4. Các giá trị tùy ý trong ngoặc vuông cũng có thể áp dụng được ở cả hai phiên bản này. Bạn có thể cần chuyển đổi lại các màu sắc sang bảng màu @theme của phiên bản v4 sau khi dán vào.

Bộ chuyển đổi không thể hiển thị thang màu tailwind.config.js của bạn. Hãy tự động ánh xạ giá trị tùy ý này sang mã bảng màu gần nhất bằng cách chọn thủ công, ví dụ như text-gray-800 hoặc một mã thương hiệu mà bạn đã định nghĩa.

Đúng vậy – hãy dán nhiều quy tắc vào cùng lúc. Công cụ sẽ tạo ra một danh sách lớp cho mỗi bộ chọn, các danh sách này được phân cách bởi chú thích /* selector */ để bạn có thể căn chỉnh chúng với đoạn HTML tương ứng.

Mã CSS được gửi đến máy chủ của chúng tôi để công cụ chuyển đổi nó thành các lớp Tailwind. Mã không được lưu trữ và không xuất hiện trong liên kết trang.

Công cụ liên quan

Công cụ này có phiên bản bằng các ngôn ngữ khác