我有两种不同类型的类名。第一种叫做color-*
,例如:
color-red
color-blue
color-green
我还有类名 hover-color-*
hover-color-red
hover-color-blue
hover-color-green
我正在尝试制定默认超链接颜色的CSS规则:
a:not([class*='color-']) {
color: #3498db;
}
这很好,但是如果存在像这样的超链接:
<a href="#" class="hover-color-green">Link</a>
在这种情况下,超链接应保持默认的超链接颜色,只有悬停时颜色应被覆盖。然而,由于规则class*='color-'
以及我仅指定了悬停颜色,因此超链接并没有给出正常颜色(#3498db)。
有没有办法更新这个规则,使它只在类名以color-
开头时触发?(因此,ANYTHING-color-
将不适用)
a {}
来设置默认颜色,然后用你的特定类覆盖它们 - 这样你就不需要烦恼所有这些非和属性包含了。 - Pete.color-red, .hover-color-red:hover {
这样,也必须包括超链接:.color-red, .hover-color-red:hover, a.color-red, a.hover-color-red:hover {
... 这会导致 CSS 文件中的内容更多。 - MultiDev.color-red
优先于a
,因此您不需要a.color-red
- 学习基础知识将有助于您在以后的开发中更好地理解和应用,当您尝试完成类似于您正在尝试做的复杂任务时,这些基础知识会派上用场。通常情况下,我发现重要的是思考您想要实现的目标的方式,总会有一种简单的方法来重新排列事物。 - Pete