:before 疑似要素を使用して、それぞれの右側に仕切りを追加しようとしているアイテムのリストがあります。
残念ながら、最後の子と最初の子の両方と組み合わせて使用すると、リスト内のすべての要素が対象になるようです。
例 - http://codepen.io/anon/pen/rupqi
マークアップ
<ul class="nav nav--inline nav--secondary">
<li><a class="nav--secondary__item" href="#">Site Map</a> </li>
<li><a class="nav--secondary__item" href="#" title="Search Terms">Search Terms</a> </li>
<li><a class="nav--secondary__item" href="#" title="Advanced Search">Advanced Search</a> </li>
<li><a class="nav--secondary__item" href="#" title="Contact Us">Contact Us</a> </li>
</ul>
CSS
.nav--inline, .nav--inline > li, .nav--inline > li > a { float: left; }
.nav--secondary__item {
color: #706782;
font-size: 1.2em;
padding: 0.8em;
position: relative;
@include transition (background-color 0.5s ease-in-out);
}
.nav--secondary__item:before {
content: "|";
color: #939EB7;
position: absolute;
left: 0;
}
.nav--secondary__item:first-child:before, .nav--secondary__item:last-child:before { content: "*"; }
なぜこれが起こるのか、もしそうなら、それを修正する方法を知っている人はいますか?