- 1. :not() – loại trừ phần tử
- 2. :nth-child(an+b) – chọn theo vị trí
- 3. :is() – rút gọn selector phức tạp
- 4. :has() – chọn phần tử cha chứa phần tử con (CSS4)
- 5. :where() – tương tự :is() nhưng không ảnh hưởng độ ưu tiên
- 6. :empty – chọn phần tử không có nội dung
- 7. :checked – cực hữu dụng với checkbox toggle UI
- 8. :target – tạo modal, tab, popup đơn giản
- 9. :focus-visible – cải thiện UX cho bàn phím
- 10. :nth-of-type() – chọn phần tử theo kiểu, không theo thứ tự toàn bộ
- Tổng kết
1. :not()
– loại trừ phần tử
Dùng để chọn mọi phần tử trừ phần tử cụ thể, rất hữu ích để viết style ngắn gọn.
2. :nth-child(an+b)
– chọn theo vị trí
Có thể chọn phần tử thứ n hoặc theo quy luật (ví dụ: số chẵn, lẻ…)
3. :is()
– rút gọn selector phức tạp
Kết hợp nhiều selector khác nhau một cách gọn gàng.
4. :has()
– chọn phần tử cha chứa phần tử con (CSS4)
Cho phép style phần tử cha nếu chứa phần tử con thỏa điều kiện. (Chỉ hỗ trợ trên trình duyệt hiện đại như Chrome, Safari…)
5. :where()
– tương tự :is()
nhưng không ảnh hưởng độ ưu tiên
6. :empty
– chọn phần tử không có nội dung
7. :checked
– cực hữu dụng với checkbox toggle UI
8. :target
– tạo modal, tab, popup đơn giản
Dùng trong các hệ thống có đường dẫn dạng #id, ví dụ như tab hoặc lightbox thuần CSS.
9. :focus-visible
– cải thiện UX cho bàn phím
Chỉ hiển thị border focus khi dùng bàn phím, không hiển thị khi click chuột (giảm rối mắt).
10. :nth-of-type()
– chọn phần tử theo kiểu, không theo thứ tự toàn bộ
Tổng kết
Các pseudo-class nâng cao giúp viết CSS trở nên mạnh mẽ, có điều kiện, và gần như “lập trình” được logic giao diện mà không cần đến JavaScript. Nếu bạn đang muốn tối ưu hiệu suất và sự tinh gọn cho CSS hiện đại, đừng bỏ qua những công cụ này.
Bình Luận