Tối ưu CSS là một trong những yếu tố quan trọng nhằm giúp cải thiện tối ưu tốc độ tải trang, trải nghiệm người dùng và thứ hạng SEO của website. Hãy cùng MUATHEMEWPGIARE khám phá ngay 15 mẹo tối ưu CSS dưới đây kèm ví dụ cụ thể để bạn có thể áp dụng trực tiếp cho dự án của mình!
1. Giảm Dung Lượng CSS Bằng Cách Nén Code
CSS nén là loại bỏ các khoảng trắng, dòng trống và ký tự thừa trong file CSS. Ví dụ:
Trước khi nén:
1 2 3 4 5 6 |
body { background-color: #fff; color: #333; margin: 0; padding: 0; } |
Sau khi nén:
1 |
body{background-color:#fff;color:#333;margin:0;padding:0;} |
Bạn có thể sử dụng các công cụ như CSS Minifier hoặc tích hợp vào quy trình build bằng Gulp hoặc Webpack.
2. Chỉ Sử Dụng CSS Cho Thành Phần Cần Thiết
Tránh tải CSS không cần thiết cho các thành phần không hiển thị ngay lập tức. Ví dụ, nếu bạn có một phần “Liên hệ” chỉ hiện khi người dùng cuộn đến cuối trang, bạn có thể trì hoãn CSS cho phần này:
1 2 3 |
<div id="contact-section" class="lazy-load"> <!-- Nội dung liên hệ --> </div> |
CSS (Lazy Load):
1 2 3 |
.lazy-load { display: none; } |
Khi người dùng cuộn đến phần này, bạn có thể tải CSS bằng JavaScript để giảm tải cho trang.
3. Tối Ưu Sử Dụng Selectors
Sử dụng selectors ngắn gọn để tăng tốc xử lý CSS. Tránh selectors phức tạp như:
1 |
.container .header .nav ul li a { color: #333; } |
Thay vào đó, bạn chỉ cần viết ngắn gọn như sau:
1 |
.nav a { color: #333; } |
Điều này giúp giảm bớt mức độ phức tạp, khiến CSS dễ đọc và nhanh hơn.
4. Kết Hợp CSS Thành Một File Duy Nhất
Thay vì sử dụng nhiều file CSS, hãy kết hợp chúng vào một file để giảm số lượng yêu cầu HTTP, tăng tốc độ tải trang. Bạn có thể sử dụng Gulp để tự động hợp nhất file:
Gulp task để hợp nhất CSS:
1 2 3 4 5 6 7 8 |
const gulp = require('gulp'); const concat = require('gulp-concat'); gulp.task('css', function() { return gulp.src(['css/reset.css', 'css/style.css', 'css/responsive.css']) .pipe(concat('all.css')) .pipe(gulp.dest('dist/css')); }); |
5. Đưa CSS Quan Trọng Lên Đầu Trang (Above-the-Fold CSS)
Đưa CSS cần thiết cho phần hiển thị đầu tiên lên đầu trang giúp tăng tốc độ tải ban đầu. Ví dụ:
HTML (CSS Inline cho phần đầu trang):
1 2 3 4 |
<style> .header { background-color: #333; color: #fff; padding: 20px; } </style> <div class="header">Welcome to MUATHEMEWPGIARE</div> |
Bằng cách này, phần đầu trang sẽ được hiển thị ngay cả khi CSS chính chưa tải xong.
6. Sử Dụng CSS Inline Cẩn Thận
Sử dụng CSS inline có thể làm tăng kích thước HTML, nhưng nó hữu ích với các thành phần quan trọng. Ví dụ:
Inline CSS:
1 |
<h1 style="color:#333; font-size:24px;">Trang Bán Hàng Chuyên Nghiệp</h1> |
Chỉ dùng inline cho những thành phần cần hiển thị ngay, không nên lạm dụng để tránh làm HTML phức tạp.
7. Sử Dụng CSS Variables (Biến CSS)
CSS Variables giúp bạn quản lý màu sắc, kích thước một cách dễ dàng. Ví dụ:
Khai báo biến CSS:
1 2 3 4 5 6 7 8 9 |
:root { --primary-color: #3498db; --font-size-large: 18px; } body { color: var(--primary-color); font-size: var(--font-size-large); } |
Khi muốn thay đổi toàn bộ màu sắc hoặc font chữ, bạn chỉ cần chỉnh sửa ở phần khai báo biến.
8. Loại Bỏ CSS Không Cần Thiết
Loại bỏ CSS thừa giúp tối ưu file CSS. Sử dụng PurgeCSS để tự động loại bỏ các đoạn CSS không dùng đến:
Cài đặt PurgeCSS với Gulp:
1 2 3 4 5 6 7 8 9 |
const purgecss = require('gulp-purgecss'); gulp.task('purgecss', () => { return gulp.src('css/*.css') .pipe(purgecss({ content: ['*.html'] })) .pipe(gulp.dest('dist/css')); }); |
9. Tận Dụng CSS Grid và Flexbox
CSS Grid và Flexbox giúp xây dựng bố cục linh hoạt mà không cần nhiều CSS. Ví dụ với Flexbox:
CSS Flexbox:
1 2 3 4 |
.container { display: flex; justify-content: space-between; } |
Sử dụng Flexbox giúp bố cục tự động điều chỉnh theo kích thước màn hình mà không cần media queries phức tạp.
10. Ưu Tiên Sử Dụng Class Thay Vì ID
Sử dụng Class cho các style chung và tránh sử dụng ID cho style vì ID có độ ưu tiên cao. Ví dụ:
Thay vì dùng ID:
1 |
#header { color: #333; } |
Nên dùng Class:
1 |
.header { color: #333; } |
11. Dùng Font Biểu Tượng Thay Vì Hình Ảnh
Thay vì dùng ảnh cho biểu tượng, hãy sử dụng FontAwesome hoặc Iconify để giảm kích thước trang:
HTML với FontAwesome:
1 |
<i class="fas fa-shopping-cart"></i> |
Font biểu tượng nhẹ hơn và cho phép dễ dàng thay đổi kích thước, màu sắc.
12. Tránh CSS Lặp Lại
Kiểm tra và loại bỏ CSS trùng lặp để giảm dung lượng file. Ví dụ:
Trước khi tối ưu:
1 2 |
h1 { color: #333; } h2 { color: #333; } |
Sau khi tối ưu:
1 |
h1, h2 { color: #333; } |
13. Sử Dụng Preprocessor CSS (Sass, LESS)
Sass hoặc LESS giúp viết CSS ngắn gọn và dễ quản lý hơn. Ví dụ với Sass:
Sass:
1 2 3 4 5 |
$primary-color: #3498db; body { color: $primary-color; } |
14. Sử Dụng Lazy Load Cho CSS Không Quan Trọng
Sử dụng lazy load cho CSS không cần thiết ngay lập tức bằng cách tải khi cần thiết. Ví dụ:
JavaScript tải CSS khi cần:
1 2 3 4 |
let link = document.createElement("link"); link.rel = "stylesheet"; link.href = "extra-styles.css"; document.head.appendChild(link); |
15. Kiểm Tra và Tối Ưu CSS Thường Xuyên
Sử dụng các công cụ như Google PageSpeed Insights để phân tích và tối ưu CSS theo gợi ý, giúp cải thiện hiệu suất website liên tục.
- [Thủ thuật wordpress] Hướng dẫn code chức năng tạo và gửi mã giảm giá tự động khi người dùng đăng ký tài khoản không dùng plugin
- Giftbox Products WooCommerce – Giải Pháp Toàn Diện Cho Tặng Quà Kèm Trên Website Bán Hàng
- #1 Hướng dẫn code chức năng đăng nhập để xem nội dung hoặc bài viết
- Giới Thiệu Về Mua Theme WordPress Giá Rẻ Và Plugin Flash Sale
- Cookie là gì? Hiểu đúng và đầy đủ về Cookie, tầm quan trọng của Cookie đối với trải nghiệm người dùng