Tôi có HTML sau:Đặt một: hover dựa trên lớp
<div class="menu">
<a class="main-nav-item" href="home">home</a>
<a class="main-nav-item-current" href="business">business</a>
<a class="main-nav-item" href="about-me">about me</a>
</div>
Trong CSS, tôi muốn thiết lập các a:hover
cho những mục menu để một màu cụ thể. Vì vậy, tôi viết:
.menu a:hover
{
color:#DDD;
}
Nhưng, tôi muốn thiết lập a:hover
màu này chỉ dành cho những <a>
thẻ với lớp chính-nav-item và không phải là chính-nav-item-hiện, bởi vì nó có màu khác và không được thay đổi khi di chuột. Tất cả các thẻ <a>
trong menu div sẽ thay đổi màu khi di chuột ngoại trừ một màu với lớp hiện tại.
Tôi làm cách nào để sử dụng CSS?
tôi đã cố gắng một cái gì đó giống như
.menu a:hover .main-nav-item
{
color:#DDD;
}
nghĩ rằng chỉ có những người thân với lớp học chính-nav-item sẽ thay đổi màu sắc trên di chuột, và không phải là hiện tại. Nhưng nó không hoạt động.
Đã hoạt động! :) Bạn có thể giải thích cách trình chọn CSS được trình duyệt hiểu không? Giống như trong lời nói. Vì vậy mà tôi biết logic và nó sẽ hữu ích cho CSS khác tôi viết ... –
Nói cách, bộ chọn đó sẽ là: “tất cả các thẻ với một lớp chính-nav-item và một tổ tiên với một lớp menu, trong trạng thái di chuột (tức là có con trỏ chuột trên đầu chúng). –