Css 单击时保持菜单项的颜色不变

Css 单击时保持菜单项的颜色不变,css,html,Css,Html,好的,我有以下菜单: <div class="header"> <div id="logo"></div> <ul class="menu"> <li><a href="/index.aspx">Home</a></li> <li><a href="/about.aspx">About</a&

好的,我有以下菜单:

<div class="header">
        <div id="logo"></div>
        <ul class="menu">
            <li><a href="/index.aspx">Home</a></li>
            <li><a href="/about.aspx">About</a></li>
            <li><a href="/contact.aspx">Contact</a></li>
        </ul>
    </div>

我可以在我的菜单标签或CSS类中放置什么,使链接在单击时不改变颜色。目前,链接将是蓝色的,但一旦点击它就会变成紫色。我希望它一直是黑色的,无论点击与否。

没有比引用规格更好的方法了:

a:link    { color: red }    /* unvisited links */
a:visited { color: blue }   /* visited links   */
a:hover   { color: yellow } /* user hovers     */
a:active  { color: lime }   /* active links    */
a:active  { color: gray }   /* when element accepts tab focus */

因此,这应涵盖所有情况:

.header a,
.header a:link,
.header a:visited,
.header a:active,
.header a:hover {
    color: black;
}

Joerg在下面的评论中指出,我省略了
:focus
。我做了,而且是有原因的,但是我会解释为什么,你可以考虑是否需要:

.header a:focus {
    color: white;
    background: blue;
    font-size: 2em;
}

转到该链接,单击页面右下角的白色部分,然后点击
选项卡
键。您将看到,当该元素接收到焦点时,它会发生变化。您可以通过包含这个psuedo类来实现这一点,但据我所知,浏览器对此没有默认设置,因此除非您在其他地方设置了它,并且需要取消它,否则它可能是不必要的

注意:我似乎记得最近在我的脑海里我发现,只是,但老实说,我不确定如何做,我一直明白上述是应该如何做的(尽管有腰带和吊带)。欢迎对这一点发表评论

编辑

关于上述注释,我想我已经得到了一个答案:

a,
a:link,
a:visited,
a:hover,
a:active {
    background: green;
    color: white;
    font-size: 2em;
}
.header a {
    color: black;
}


如果psuedo选择器已在别处声明,则
.header a
不会覆盖所有psuedo选择器。现在,如果没有任何其他声明,它将覆盖浏览器的默认值,但这可能是误报

这是浏览器为已访问和未访问的链接指定的默认颜色。如果不想更改,只需设置锚定标记的样式即可

.header a {
    color: black;
}

您忘记了:a:focus{color:grey;}请注意,active必须始终位于hover:Very漂亮的快速答案之后。工作得很有魅力。谢谢大家!@Joerg-我记下了为什么最初被忽略的原因。你提出了一个很好的观点,所以我认为最好也讨论一下
:focus
@AramKocharyan-好吧,这是我以前从未读过的信息-希望每次都能读对;)信息的thx…正如我在回答中指出的,我认为这可能是答案,但前提是没有其他选择器可以提供这些psuedo选择器。见:
.header a {
    color: black;
}