0

我的html代码是:

 <div id="arrow">
     <b>Filter By: </b>

    <a href="__#" onclick="GetAllTasks();" id="id_all" style="color: #88b807;">All</a> 

    <input type="text" size="3" style="display: none;" id="DateFilter" />

    <a href="__#" onclick="GetByDate(this);" style="vertical-align: middle;"   id="cal_icon">EndDate</a>

    <a href="#"__0  onclick="GetMyTasks();" id="id_myposts">My Requests</a>
    </div> 

我的CSS代码是:

a:active  {font-family: Verdana, Sans-serif;
            color:#FF0000;
            text-decoration:none;

            background: url("Images/arrow_down.png") no-repeat;
            background-position:center;
            }

在这里,我希望箭头图像位于活动链接下方,以表明它处于活动状态。我已经尝试了上面的代码,但我没有得到所需的输出。

4

3 回答 3

1

您可以使用纯 CSS 显示箭头(见下文),但您需要 javascript 来保持类“活动”。

演示(点击链接)

HTML:

<b>Filter By: </b>
<a href="#">All</a> 
<a href="#">EndDate</a>
<a href="#">My Requests</a>

CSS:

a  {
    position:relative;
}
a:active:after, a.active:after  {
    background: url("Images/arrow_down.png");
    width:10px; /* arrow's width */
    height:10px; /* arrow's height */
    margin-left:-5px; /* half of arrow's width */
    position:absolute;
    top:100%;
    right:50%;
    content:" ";
}

jQuery:

$('a').on('click',function(){
    $('a').removeClass('active');
    $(this).addClass('active');
});​
于 2012-10-04T10:10:35.873 回答
0

您可能必须使用一些脚本来做到这一点。为活动状态创建一个单独的类并在单击时添加该类。

$('a').click(function(){
    $(this).addClass("active");
});​

这是演示http://jsfiddle.net/qvQxp/1/

于 2012-10-04T10:05:30.847 回答
0

我尝试了 Giona 的回答,发现浏览器忽略了 margin-left 的负边距,并且箭头仍然偏离中心箭头图像宽度的一半。要解决此问题,请改为将负边距应用于 margin-right。

于 2015-03-18T01:49:36.263 回答