【发布时间】:2018-03-27 21:06:28
【问题描述】:
您好,提前道歉,因为我知道这是一个愚蠢的问题,但我已经搞砸了太久了,我仍然找不到有效的解决方案。我正在尝试在我网站顶部的导航栏中更改当前页面的标题颜色。导航栏是用 html 构建的:
<div class="navbar">
<a href="index.html" class="active" >Home</a>
<a href="indian.xml">Indian</a>
<a href="italian.xml">Italian</a>
</div>
并且尝试设置样式的 CSS 是:
.navbar{
overflow: hidden;
background-color: #F5861F;
width: 100%;
}
.navbar a{
float: left;
display: block;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
.navbar a:active{
color:#ffe7d1;
}
.navbar a:visited{
color:#8b4e14;
}
.navbar a:hover{
color:#874404;
font-size:20px;
}
.navbar a:current{
color:#ffe7d1;
}
'.navbar a:current' 在我读到 active 可能不会像我希望的那样(我将 class="active" 更改为 class="current")后留在了那里,但这也不起作用。
我在这里缺少什么?非常感谢您抽出宝贵时间回答这么愚蠢的问题。
【问题讨论】:
-
您应该通过JS在当前页面的链接/标题上更改/添加类
active/current。 -
使用类选择器
.active而不是pseudo-state选择器:active,.navbar a.active { color:#ffe7d1; } -
@Krusader 你能举个例子说明如何做到这一点吗?我根本不懂多少JS。
-
这里是一些原始示例,以显示如何使用它jsfiddle.net/5wed3xhm