2014-01-31 59 views
2

我正在为动态面包屑创建一组样式。从父元素边框的伪元素前移除底部边框

面包屑中每一个前面的步骤都应该有一个边框底部和一个正斜杠。正斜线完成为:之前。

问题是,当前两步之间存在正斜杠时,右侧边框没有间隙。

要解释这个问题比较好,请参阅本codepen ... http://codepen.io/anon/pen/dJEen

我已经尝试做了下边框:0上:前但这不执行任何操作。 我的代码:

HTML

<div> 
    <a class="bcrmb" href="">Purchases</a> 
    <a class="bcrmb" href="">Order </a> 
    <span class="bcrmb">Delivery</span> 
</div> 

CSS

.bcrmb { 
    font-size:24px; 
    font-weight:bold; 
    margin: @6px 0; 
    display:inline-block; 
    letter-spacing:-1px; 
    font-family:sans-serif; 
} 
a.bcrmb { 
    color:#777; 
    border-bottom:2px solid #777; 
    margin-right:3px; 
} 
span.bcrmb { 
    color:#333; 
} 

a.bcrmb + .bcrmb:before { 
    content:"/"; 
    margin-right:6px; 
    border-bottom:0; 
} 

任何帮助将不胜感激。

回答

3

你可以做到这一点有两种方式,要么通过包装在span元素的文本和分配border-bottomspan否则,你可以使用CSS定位,通过使用absolute:beforerelativea

Demo(使用嵌套span元素)

Demo(使用CSS定位)

a.bcrmb { 
    color:#777; 
    border-bottom:3px solid #777; 
    margin-right:3px; 
    position: relative; 
    margin-right: 15px; 
} 

a.bcrmb + .bcrmb:before { 
    content:"/"; 
    margin-right:6px; 
    border-bottom:0; 
    position: absolute; 
    left: -10px; 
} 

另外,还要确保你使用text-decoration: none;,你是不是使用

+1

感谢那些是两个伟大的解决方案,只是想他们现在。 Yeh文字装饰只是为了这个codepen演示,忘记关闭它。 – Adam

+0

关于伪元素的'margin-right:6px'的目的是什么? – 2015-04-16 11:46:57

+0

@什么在伪元素和单词的右侧有空格.. –