我正在创建一个包含不同颜色(href链接)的单词的导航菜单.我希望颜色不要在任何状态下改变(悬停,访问等).
我知道如何设置不同状态的颜色,但我想知道代码只是保留文本颜色(以及任何其他样式/格式).
有什么建议?
Frx*_*rem 209
你可以简单地定义样式的链接,这将覆盖a:hover,a:visited等:
a {
color: blue;
text-decoration: none; /* no underline */
}
Run Code Online (Sandbox Code Playgroud)
inherit如果要使用父样式中的属性,也可以使用该值:
body {
color: blue;
}
a {
color: inherit; /* blue colors for links too */
text-decoration: inherit; /* no underline */
}
Run Code Online (Sandbox Code Playgroud)
Ala*_*udy 38
属性值对:
a {
all: unset;
}
Run Code Online (Sandbox Code Playgroud)
在我看来,看起来更干净,并且具有与所有选择器一起使用的优势,例如:
a, button /* &c... */ {
all: unset;
}
Run Code Online (Sandbox Code Playgroud)
请注意,这也会{cursor: pointer;}从您的链接中删除该属性。它可能是也可能不是您正在寻找的东西。只需在第二种情况下添加此属性即可。
要了解有关all简写的更多信息,请查看此页面: https: //developer.mozilla.org/en-US/docs/Web/CSS/all
正如 Emi 所说,不要忘记检查兼容性:
https://caniuse .com/css-all
正如克里斯在我之前所说的那样,只是a应该覆盖。例如:
a { color:red; }
a:hover { color:blue; }
.nav a { color:green; }
Run Code Online (Sandbox Code Playgroud)
在这种情况下,.nav a永远是绿色的, :hover 不适用于它。
如果有其他规则影响它,您可以使用!important,但您不应该使用。养成这种坏习惯。
.nav a { color:green !important; } /*I'm a bad person and shouldn't use !important */
Run Code Online (Sandbox Code Playgroud)
然后它将永远是绿色的,与任何其他规则无关。