我在CSS中有以下代码:
#nav li a:active{
background-color:brown;
}
#nav li a.index{background:purple;}
#nav li a.advertiser{background:red;}
#nav li a.publisher{background:green;}
#nav li a.new{background:blue;}
#nav li a.status{background:orange;}
#nav li a:hover {
border-bottom:5px solid brown;
}
和HTML
<ul id="nav">
<li><a class="index"....
<li><a class="advertiser"...
<li><a class="publisher"...
<li><a class="new"....
<li><a class="status".....
</ul>
问题是,当我点击它时,它会变成棕色但不会保持棕色。 我错误的地方无法实现。
答案 0 :(得分:2)
:活动状态仅在用户点击时才有效;单击完成后,锚点或按钮的活动状态不会保留。
如果要在单击后将锚点保持为棕色,则可以在用户单击锚点时使用jquery推送特定类:
$('#nav a').on('click', function(e){
e.preventDefault(); //?
$('#nav a.active').removeClass('active');
$(this).addClass('active');
})
答案 1 :(得分:1)
:active
将在按下按钮或文本时给出亮点,您需要编写jquery来实现此目的。试试这个例子:
<ul>
<li><a class="black classname" id="click">Home</a></li>
<li><a class="black" id="click">about</a></li>
<li><a class="black" id="click">services</a></li>
</ul>
CSS
.black{color:black}
.classname{color:red}
Jquery的
$(document).ready(function(){
$("a#click").click(function(){
$("a").removeClass('classname')
$(this).addClass('classname')
});
});