Trạng thái liên kết trong CSS

Tôi nghĩ rằng bạn, khi ghé thăm các trang web khác nhau trên internet, đã để ý thấy rằng các liên kết thường phản ứng khi di chuột lên trên chúng. Hiệu ứng như vậy có thể đạt được bằng cách thiết lập hành vi cho liên kết trong các trạng thái khác nhau.

Ví dụ, như thế này - a:hover - chúng ta sẽ bắt được trạng thái khi con trỏ chuột di chuột vào liên kết. Vào lúc này chúng ta có thể, ví dụ, thay đổi màu sắc của liên kết hoặc bỏ/thêm gạch chân cho nó. Cấu trúc :hover được gọi là pseudo-class (lớp giả). Các lớp giả cho phép bắt các trạng thái khác nhau của phần tử.

Ngoài :hover còn có các lớp giả :link, dùng để bắt liên kết chưa được ghé thăm, và :visited, dùng để bắt liên kết đã được ghé thăm. Trên một số trang web, người ta sử dụng chúng để hiển thị cho người dùng biết họ đã ghé thăm đâu, và chưa ghé thăm đâu. Còn có lớp giả :active, dùng để bắt trạng thái tiếp theo: phần tử được nhấn chuột vào, nhưng chưa thả ra.

Trong ví dụ tiếp theo, đối với liên kết ở trạng thái :hover, gạch chân sẽ bị bỏ đi, ở trạng thái :link sẽ được thiết lập màu đỏ, ở trạng thái :visited - màu xanh lá, ở :active - màu xanh da trời. Kết quả sẽ là, ban đầu liên kết sẽ có màu đỏ, sau khi nhấn vào nó - màu xanh lá, nếu nhấn chuột vào nó và giữ nguyên - màu xanh da trời, còn nếu di chuột vào - sẽ trở thành không gạch chân:

cssa:link {
  color: red;
}
a:visited {
  color: green;
}
a:hover {
  text-decoration: none;
}
a:active {
  color: blue;
}
html<a href="#">link</a>

Результат: