0

我想知道以下是否可能,在最后半小时搜索时找不到它,所以就在这里。

我有一个无序列表

<ul>
 <li class="head">Day 1</li>
 <li>10:00</li>
 <li>12:00</li>
 <li class="head">day 2</li>
 <li>10:00</li>
 <li>14:00</li>
</ul>

<style>
ul li.head {
 background-color:green;
}
ul li:hover {
 background-color:red;
}
</style>

现在,如果您将鼠标悬停在 li.head 上,它也会获得红色背景。

所以我的问题是,有没有类似的东西

<style>
ul li.head {
 background-color:green;
}
ul li:hover !for li.head {
 background-color:red;
}
</style>

我只是想知道 css 中是否有类似的东西,我不是在寻找其他解决方案,这不是我的意思。

为了清楚起见,我不想像这样覆盖它

<style>
ul li.head {
 background-color:green;
}
ul li:hover {
 background-color:red;
}
ul li.head:hover {
 background-color:green;
}
</style>

我也不想

<style>
ul li:hover {
 background-color:red;
}
ul li.head {
 background-color:green;
}
</style>

我只想知道css中是否有类似的东西。

注意:您可能会想为什么可以简单地使用此代码覆盖它,但我确实将其简化为示例。

4

1 回答 1

5

你可以试试这个: -

无需覆盖。您可以指定:not()过滤掉不需要的。

示例演示

ul li:not(.head):hover {
 background-color:red;
}

不过IE9以下不支持。

参考 :not()

于 2013-05-08T18:48:28.773 回答