css菜单:选择后?

时间:2011-07-01 15:52:14

标签: css css-selectors

嗨,我需要一些帮助。该设计要求在每个菜单项之间使用垂直线分隔符,但仅限于它们不活动时。我需要从#current a(已经完成)以及下一个a中移除a的左边界。想法?

menu

#topmenu ul {margin: 0 0 7px 0; width: 100%;padding: 0;}
#topmenu li {list-style: none;display: inline;margin: 0 0px;padding:15px 10px 15px 0px;
line-height:15px;text-align:center;}
#topmenu a:link, #topmenu a {color: #ffffff;text-decoration: none;margin: 0px 0px 0px 0px;
font-weight:normal;padding: 0px 5px 0px 14px;
border-left-color:#fff; border-left-style:solid;border-left-width:1px;}
#topmenu ul li.item82 a, #topmenu #current  {border:none;}
#topmenu #current:after {border:none;}
#topmenu a:hover{color: #EFEFEF;}
#topmenu a:active{color: #EFEFEF;}
#topmenu #current{color: #EFEFEF;background-color:#19bcb9;-moz-border-radius-topright:4px;
-moz-border-radius-topleft:4px;
border-top-left-radius: 4px;border-top-right-radius: 4px; 
-webkit-border-top-right-radius:4px;-webkit-border-top-left-radius:4px;}

<ul class="menu">
<li class="item82"><a href="/about.html"><span>About Us</span></a></li>
<li class="item62"><a href="/our-philosophy.html"><span>Our Philosophy</span></a></li>
<li class="active item54" id="current"><a href="/services.html"><span>Services</span></a></li>
<li class="item74"><a href="/soutions.html"><span>Soutions</span></a></li>
<li class="item68"><a href="/workshops.html"><span>Workshops</span></a></li>
<li class="item75"><a href="/whats-new.html"><span>What's New</span></a></li>
</ul>

3 个答案:

答案 0 :(得分:1)

#topmenu #current:after + li {border:none;}

http://www.w3.org/TR/CSS2/selector.html#adjacent-selectors

答案 1 :(得分:1)

我认为你正在寻找方便的花花公子css邻近选择器。查看

http://www.w3.org/TR/CSS2/selector.html#adjacent-selectors

我觉得你想要的是

#topmenu #current + a{
border:none
}

虽然如果您已经使用javascript添加#current ID,那么添加.noborder类也不会那么困难。

答案 2 :(得分:1)

相邻的兄弟选择器+将起作用。尽管在这种情况下,您将必须将其应用于子锚元素:

#topmenu #current a, #topmenu #current + li a {
    border-left-color: transparent ;
}

不要将边框设置为无 - 尝试将颜色设置为“透明”,这样就不会改变布局的对齐方式。