CSS pseudo-classes là gì và cách sử dụng như thế nào ?

CSS là viết tắt của Cascading Style Sheets. Nó được sử dụng để định dạng trang web và cung cấp một phong cách chung cho toàn bộ trang web. CSS pseudo-classes là một khái niệm quan trọng trong CSS, nó giúp tạo ra các hiệu ứng động và tương tác cho trang web. Hầu hết các pseudo-classes được sử dụng để xác định trạng thái của các phần tử HTML.

Lập Trình Viên mời bạn cùng tham khảo chi tiết nội dung bên dưới. Bài viết này nằm trong chuyên đề hướng dẫn CSS từ cơ bản đến nâng cao tại dự án Phát Triển Website.

Trong bài viết này, chúng ta sẽ tìm hiểu về CSS pseudo-classes, các ưu và nhược điểm của chúng, cũng như cách áp dụng chúng trong thiết kế trang web.

Tổng quan CSS pseudo-classes

CSS Pseudo-class là một từ khóa được kết hợp với selector để xác định trạng thái đặc biệt của các phần tử được chọn. Nó được thêm vào selector để thêm hiệu ứng vào các phần tử đã chọn dựa trên trạng thái của chúng. Ví dụ, “:hover” được sử dụng để thêm hiệu ứng đặc biệt vào một phần tử khi người dùng di chuột qua phần tử đó. Tên của các pseudo-class không phân biệt chữ hoa chữ thường.

Cú pháp của một CSS pseudo-class bắt đầu với dấu hai chấm (:). Mặc dù có nhiều CSS pseudo-classes khác nhau, ở đây chúng ta sẽ thảo luận về một số CSS pseudo-classes được sử dụng phổ biến nhất. Các lớp CSS được sử dụng rộng rãi được liệt kê trong bảng dưới đây:

Pseudo-classMô tả
:activeSử dụng để thêm kiểu cho một phần tử đang hoạt động.
:hoverThêm hiệu ứng đặc biệt vào một phần tử khi người dùng di chuột qua phần tử đó.
:linkThêm kiểu cho các liên kết chưa được ghé thăm.
:visitedThêm kiểu cho các liên kết đã được ghé thăm.
:langĐược sử dụng để xác định ngôn ngữ được sử dụng trong một phần tử cụ thể.
:focusChọn phần tử đang được tập trung bởi người dùng hiện tại.
:first-childThêm hiệu ứng đặc biệt vào một phần tử là con đầu tiên của một phần tử khác.

Bây giờ chúng ta sẽ thảo luận về các CSS pseudo-classes trên cùng với ví dụ minh họa.

Hướng dẫn CSS pseudo-classes

Để sử dụng CSS pseudo-classes, bạn cần sử dụng dấu hai chấm (:) theo sau là tên của pseudo-class. Sau đó, bạn có thể sử dụng các selector thông thường để chọn các phần tử mà bạn muốn áp dụng pseudo-class.

Có nhiều loại pseudo-classes khác nhau, mỗi loại được sử dụng để chọn các phần tử trong một trạng thái cụ thể. Dưới đây là một số pseudo-classes phổ biến nhất:

  • :hover: Chọn các phần tử khi người dùng di chuyển qua chúng.
  • :active: Chọn các phần tử khi người dùng nhấp vào chúng.
  • :focus: Chọn các phần tử khi người dùng tập trung vào chúng.
  • :first-child: Chọn các phần tử là con đầu tiên của một phần tử khác.
  • :last-child: Chọn các phần tử là con cuối cùng của một phần tử khác.
  • :nth-child(n): Chọn các phần tử là con thứ n của một phần tử khác.

:hover pseudo-class

Pseudo-class này thêm một kiểu đặc biệt vào một phần tử khi người dùng di chuột qua nó. Nếu muốn nó có hiệu quả, phải áp dụng sau các pseudo-classes “:link” và “:visited”. Ví dụ:

a:hover {
  color: red;
}

Ở đây, chúng ta đã thêm màu đỏ cho liên kết khi di chuột qua nó. Bạn có thể thay đổi thuộc tính của no để tạo ra các hiệu ứng khác nhau.

:active pseudo-class

Nó được sử dụng khi các phần tử được nhấp hoặc kích hoạt. Nó chọn phần tử được kích hoạt. Chúng ta có thể hiểu nó qua ví dụ sau:

button:active {
  background-color: gray;
}

Ở đây, chúng ta đã thêm màu xám cho nút khi nó được nhấp. Bạn có thể thay đổi thuộc tính của nó để tạo ra các hiệu ứng khác nhau.

:visited pseudo-class

Nó chọn các liên kết đã được ghé thăm và thêm kiểu đặc biệt cho chúng. Các giá trị có thể là bất kỳ tên màu nào trong định dạng hợp lệ. Ví dụ:

a:visited {
  color: purple;
}

Ở đây, chúng ta đã thêm màu tím cho các liên kết đã được ghé thăm. Bạn có thể thay đổi thuộc tính của nó để tạo ra các kiểu khác nhau.

:lang pseudo-class

Nó hữu ích trong các tài liệu yêu cầu nhiều ngôn ngữ. Nó cho phép chúng ta xác định các quy tắc đặc biệt cho các ngôn ngữ khác nhau. Ví dụ:

p:lang(fr) {
  font-style: italic;
}

Ở đây, chúng ta đã chọn các phần tử có thuộc tính lang=”fr” và thêm kiểu nghiêng cho chúng. Bạn có thể thay đổi thuộc tính của nó để tạo ra các hiệu ứng khác nhau.

:focus pseudo-class

Nó chọn các phần tử đang được tập trung bởi người dùng hiện tại. Thường được sử dụng trong các phần tử nhập liệu của biểu mẫu và kích hoạt khi người dùng nhấn vào nó. Ví dụ:

input:focus {
  border: 2px solid blue;
}

Ở đây, chúng ta đã thêm đường viền màu xanh lá cây khi ô input được tập trung. Bạn có thể thay đổi thuộc tính của nó để tạo ra các hiệu ứng khác nhau.

:first-child pseudo-class

Nó chọn một phần tử cụ thể, là con đầu tiên của một phần tử khác và thêm một hiệu ứng đặc biệt cho phần tử tương ứng. Lưu ý: Chúng ta phải khai báo <!DOCTYPE> ở đầu tài liệu để “:first-child” pseudo-class hoạt động trên IE8 và các phiên bản trước đó. Ví dụ:

ul li:first-child {
  font-weight: bold;
}

Ở đây, chúng ta đã xác định phần tử li đầu tiên của một danh sách không thứ tự và thêm kiểu đậm cho nó. Bạn có thể thay đổi thuộc tính của nó để tạo ra các hiệu ứng khác nhau.

Tổng kết

Trên đây là các CSS pseudo-classes phổ biến nhất trong CSS. Chúng ta đã tìm hiểu cách sử dụng chúng để tạo ra các hiệu ứng động và tương tác trên trang web.

Ưu và Nhược điểm CSS pseudo-classes

Ưu điểm

  1. Cung cấp khả năng tùy chỉnh trạng thái của các phần tử HTML.
  2. Tạo ra các hiệu ứng động và tương tác cho trang web.
  3. Cho phép xác định trạng thái của các phần tử HTML, giúp d 4. Giúp tăng tính tương tác và trải nghiệm người dùng trên trang web.
  4. Có khả năng phối hợp với các thuộc tính CSS khác để tạo ra các hiệu ứng mang tính chuyên nghiệp.

Nhược điểm

  1. Chúng có thể làm cho mã HTML và CSS trở nên lộn xộn và khó đọc.
  2. Chúng có thể gây ra sự cố hoặc tình trạng không mong muốn trên một số trình duyệt cũ hoặc phiên bản trình duyệt.
  3. Có thể tạo ra tải trang chậm khi sử dụng nhiều pseudo-classes trong cùng một trang web.

Lời khuyên CSS pseudo-classes

Dưới đây là một số lời khuyên sử dụng CSS pseudo-classes

  1. Sử dụng các pseudo-classes một cách hợp lý để tạo ra các hiệu ứng phù hợp với trang web của bạn.
  2. Hãy chắc chắn rằng các pseudo-classes được áp dụng đúng cách và không gây ra tình trạng không mong muốn trên các trình duyệt khác nhau.
  3. Luôn kiểm tra lại mã của bạn và sửa chữa các lỗi nếu cần thiết để tránh các vấn đề liên quan đến CSS pseudo-classes.
  4. Tìm hiểu thêm về các pseudo-classes khác và cách sử dụng chúng để tạo ra những trang web chuyên nghiệp hơn.

1. Pseudo-classes là gì?

CSS Pseudo-classes là các từ khoá được kết hợp với các bộ chọn trong CSS để xác định trạng thái của các phần tử HTML.

2. Có bao nhiêu pseudo-classes trong CSS?

Có rất nhiều pseudo-classes trong CSS, nhưng một số phổ biến nhất bao gồm: :hover, :active, :visited, :focus, :first-child.

3. Làm thế nào để sử dụng pseudo-classes trong CSS?

Để sử dụng pseudo-classes trong CSS, bạn cần chọn các phần tử HTML và thêm pseudo-class phù hợp vào sau bộ chọn.

4. Tại sao nên sử dụng pseudo-classes trong CSS?

Sử dụng pseudo-classes giúp tạo ra các hiệu ứng động và tương tác cho trang web, cung cấp tính tương tác và trải nghiệm người dùng tốt hơn trên trang web.

5. Có nhược điểm nào khi sử dụng pseudo-classes trong CSS không?

Một số nhược điểm của việc sử dụng CSS pseudo-classes bao gồm: làm cho mã HTML và CSS trở nên lộn xộn và khó đọc, gây ra sự cố hoặc tình trạng không mong muốn trên một số trình duyệt cũ hoặc phiên bản trình duyệt, và có thể tạo ra tải trang chậm nếu sử dụng quá nhiều pseudo-classes.