所以我有一个简单的导航栏因某些原因无效。除了这个之外,所有其他链接和页面都有效,我想知道是否有人能够在以下代码中发现错误。注意' glob'不是黄色的。我认为我在其他地方有一个更具体的规则,这个规则超越了这条规则,但我认为我没有这样的规则,我的具体要求较少。
#subnav {
height: 10%;
text-align: center;
background-color: green;
width: 100%;
}
#subnav ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
text-align: center;
width: 100%;
font-weight: bold;
}
#subnav li {
display: inline-block;
}
#subnav li a {
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
#subnav li a:hover {
color: yellow;
}
#subnav li a:active {
color: yellow;
}

<div id="subnav">
<ul>
<li> <a href="sam.html">Sam </a></li>
<li> <a href="sam.html">Sam </a></li>
<li> <a href="sam.html">Sam </a></li>
<li> <a href="sam.html">Sam </a></li>
<li> <a href="sam.html">Sam </a></li>
<li> <a href="sam.html">Po </a></li>
<li> <a class="active" href="glob.html">Glob </a></li>
<li> <a href="sam.html">Donors </a></li>
</ul>
</div>
&#13;
答案 0 :(得分:1)
如果要定位活动类,则必须使用.active,而不是:active
所以规则将是:
#subnav li a.active {
color: yellow;
}
:active伪选择器有点不同,这里有一个很好的解释https://css-tricks.com/almanac/selectors/a/active/ 但是在您的代码中,您正在添加活动类,而不是稍后在css上使用它。 希望这能帮助你。
答案 1 :(得分:1)
.active
是一个类,而不是一个可以通过伪选择器进行加密的状态。所以你的选择器必须是
#subnav li a.active {
color: yellow;
}
(请注意.
而不是:
)
#subnav {
height: 10%;
text-align: center;
background-color: green;
width: 100%;
}
#subnav ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
text-align: center;
width: 100%;
font-weight: bold;
}
#subnav li {
display: inline-block;
}
#subnav li a {
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
#subnav li a:hover {
color: yellow;
}
#subnav li a.active {
color: yellow;
}
&#13;
<div id="subnav">
<ul>
<li> <a href="sam.html">Sam </a></li>
<li> <a href="sam.html">Sam </a></li>
<li> <a href="sam.html">Sam </a></li>
<li> <a href="sam.html">Sam </a></li>
<li> <a href="sam.html">Sam </a></li>
<li> <a href="sam.html">Po </a></li>
<li> <a class="active" href="glob.html">Glob </a></li>
<li> <a href="sam.html">Donors </a></li>
</ul>
</div>
&#13;