Cách dùng Nén CSS
- Dán CSS của bạn, kéo thả tệp
.cssvào ô nhập, hoặc bấm Sample. - Giữ các tối ưu hóa được bật (tất cả đều an toàn) hoặc bỏ chọn những tối ưu bạn không muốn.
- Kiểm tra mức tiết kiệm bên dưới trình soạn thảo, sau đó bấm Copy hoặc Download
styles.min.css. - Cần đọc một tệp đã nén? Chuyển sang Beautify.
Nén CSS (CSS minification) là gì?
Nén CSS là việc loại bỏ mọi byte mà trình duyệt không cần — comment, thụt lề, ngắt dòng, dấu chấm phẩy cuối cùng trong mỗi rule — và viết lại một số giá trị thành dạng ngắn hơn nhưng tương đương. Stylesheet thu được hoạt động y hệt nhưng nhỏ hơn, nên tải và phân tích nhanh hơn. Vì CSS là render-blocking, một stylesheet nhỏ hơn có thể cải thiện trực tiếp First Contentful Paint và Largest Contentful Paint.
Công cụ nén này thay đổi những gì
| Tối ưu | Trước | Sau |
|---|---|---|
| Comment & khoảng trắng | /* Buttons */ .btn , .link { … } | .btn,.link{…} |
| Dấu chấm phẩy cuối | {color:red;} | {color:red} |
| Màu sắc | #FFFFFF, #aabbccdd | #fff, #abcd |
| Đơn vị bằng 0 | margin:0px 0em | margin:0 0 |
| Số | 0.50rem, 1.0 | .5rem, 1 |
| Rule rỗng | .unused{} | (đã xóa) |
Vì sao an toàn
Các công cụ nén quá mạnh đôi khi làm hỏng stylesheet. Công cụ này chỉ áp dụng những biến đổi không thể thay đổi hành vi:
- Chuỗi, giá trị
url()và ký tự escape được bảo vệ và không bao giờ bị sửa. - Đơn vị chỉ bị bỏ với độ dài —
0s,0degvà0%giữ nguyên (transition: 0svà selector keyframe cần chúng), còn mọi thứ bên trongcalc(),min()hayclamp()đều không bị động vào vìcalc(0 + 10px)là không hợp lệ. - Shorthand
flexđược bỏ qua (flex: 1 1 0pxvàflex: 1 1 0không phải lúc nào cũng giống nhau trên các engine cũ), còn giá trị custom property chỉ bị bỏ khoảng trắng thừa. - Khoảng trắng trong selector được giữ lại ở chỗ nó có ý nghĩa:
a :hover(bất kỳ phần tử con nào đang được hover) khác vớia:hover. @layer name {}được giữ lại ngay cả khi rỗng, vì nó khai báo thứ tự layer. Comment license bắt đầu bằng/*!được giữ lại theo mặc định.
Nén CSS so với nén dữ liệu
Minify và nén gzip/Brotli có thể kết hợp với nhau. Nén dữ liệu loại bỏ sự lặp lại; minify loại bỏ những byte mà nén không xử lý được, chẳng hạn comment. Con số Gzipped output cho biết gần đúng lượng dữ liệu truyền qua mạng nếu máy chủ của bạn nén phản hồi (hầu hết đều làm vậy). Để hiệu quả nhất, hãy xóa các rule không dùng bằng công cụ như PurgeCSS, và chỉ inline phần CSS quan trọng cho nội dung hiển thị ngay trên màn hình đầu tiên.
Muốn kiểm tra một tệp đã nén? Dùng chế độ Beautify ở đây hoặc CSS Formatter. Muốn kiểm tra hiệu năng cả trang? Chạy page speed test.
Cũng được tìm dưới tên: minify css, công cụ nén css, rút gọn css, css compressor, giảm dung lượng css, nén css online, tối ưu css.
Các công cụ dùng kèm tốt với Nén CSS
- Định dạng HTML — Dán mã HTML đã nén hoặc lộn xộn và nhận lại HTML được thụt lề rõ ràng, nhất quán — bao gồm cả các khối <style> và <script> nhúng bên trong.
- Định dạng JavaScript — Giải nén và định dạng lại JavaScript, JSON hoặc JSX với kiểu thụt lề và dấu ngoặc bạn chọn, hoặc loại bỏ khoảng trắng và chú thích bằng bộ thu gọn đã được kiểm chứng.
- Nén ảnh — Giảm dung lượng ảnh và đồ họa đến 90% mà gần như không thấy mất chất lượng, tùy thuộc vào ảnh và cài đặt.
- Định dạng SQL — Dán một truy vấn hoặc cả một file migration để nhận SQL dễ đọc: mỗi mệnh đề một dòng, các join được căn thẳng hàng và kiểu chữ từ khóa nhất quán, theo đúng cú pháp của cơ sở dữ liệu bạn dùng.
Câu hỏi thường gặp
Nén CSS có thể làm hỏng CSS của tôi không?
calc()). Nếu CSS gốc có lỗi cú pháp, lỗi đó vẫn còn trong kết quả, vì vậy hãy kiểm tra lại CSS nào hoạt động kỳ lạ.CSS của tôi sẽ nhỏ đi bao nhiêu?
Tôi có nên dùng gzip hoặc Brotli không?
Vì sao một số comment vẫn được giữ lại?
/*! theo quy ước chứa thông báo bản quyền phải đi kèm với mã nguồn. Bỏ chọn “Giữ comment /*! license */” nếu bạn muốn xóa cả chúng.