我正在创建一个带有不同颜色文字(href
链接)的导航菜单。我希望在任何状态下(悬停,访问等)都不改变颜色。
我知道如何设置不同状态的颜色,但我想知道如何仅保留文本颜色(以及任何其他样式/格式)的代码。
有什么建议吗?
您可以定义一个链接样式,它会覆盖 a:hover
, a:visited
等:
a {
color: blue;
text-decoration: none; /* no underline */
}
如果你想使用父级样式的属性,也可以使用inherit
值:
body {
color: blue;
}
a {
color: inherit; /* blue colors for links too */
text-decoration: inherit; /* no underline */
}
属性-值对:
a {
all: unset;
}
在我看来,这种方式更加简洁,并且具有与所有选择器一起使用的优势,例如:
a, button /* &c... */ {
all: unset;
}
{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; }
.nav a
将始终是绿色的,:hover
不会影响它。!important
,但最好不要这样做。这是一个不好的习惯。.nav a { color:green !important; } /*I'm a bad person and shouldn't use !important */
然后它将始终是绿色的,与任何其他规则无关。
a
设置样式,从而防止任何对 :hover
(或 :visited
等)的更改。你怎么不提供一个真正的解决方案,而是变成一个傻瓜并且贬低所有三个答案呢? - SpoonNZa
选择器来定义锚点/超链接的所有状态。例如:a {
color: blue;
}
将覆盖所有链接样式并使所有状态的颜色为蓝色。
a.redLink{color:red;}
,那么为了在鼠标悬停等情况下保持这个状态,需要添加 a.redLink:hover{color:red;}
。这将确保没有其他悬停状态会改变链接的颜色。
inherit
关键字,不幸的是它并没有100%的支持。 - davidinherit
只在古老的浏览器和Internet Explorer中不起作用,还是在流行的浏览器(Chrome,Firefox)中也存在困难? - parsecer