我有以下CSS:
a.button:hover,
.mini-menu > li > a:hover {
xxx
}
有没有一种方法可以使这种悬停效果仅在按钮没有“禁用”类的情况下才对按钮起作用?
您可以使用 CSS3:not()
选择器,但当然这具有跨浏览器兼容性实现:
a.button:not(.disabled):hover,
.mini-menu > li > a:hover {
xxx
}
你可以通过 :not(.disabled)
选择器来完成。
为所有没有.disabled
类的元素设置 css
:not(selector)
选择器匹配不是指定元素/选择器的每个元素。
注意:IE8 及更早版本不支持
除了:not
这里建议的选择器之外,您还可以简单地为a.button
withdisabled
类覆盖悬停类(如果您支持 IE7 和 8,可能会很有用):
a.button:hover,
.mini-menu > li > a:hover {
xxx
}
a.button.disabled:hover {
//css to set non-hover style
}
你可以使用:not(.disabled)
选择器。
此外:not()
- 另一种方法是利用 CSS 特定性并使用更高得分的“禁用”类重置样式。
a.button.disabled:hover,
.disabled.mini-menu > li > a:hover {
xxx- disabled properties that won't be over ridden by below.
}
a.button:hover,
.mini-menu > li > a:hover {
xxx
}