3

我正在开发这样的面包屑:

<div class="breadcrumb">
  <ul>
    <li><a href="behandelingen.html">Behandelingen</a></li>
    <li><a href="behandelingen-cat.html">Gelaatsverzorgingen</a></li>
    <li class="active">Environ Discovery</li>
 </div>

我正在使用 Sass 设置面包屑的样式:

.breadcrumb {
  @include outer-container;
  @include shift(4);
  margin-top: em(50);
  padding-left: em(14);
  li {
    float: left;
    margin-right: 15px;
  }
}

为了在每个列表项之后添加一个“>>”,我在我的 li 定义中添加了这个:

&:after{
  content: ">>";
  margin-left: 10px;
}

这工作正常,但现在我想添加一个规则,定义不要将“>​​>”添加到最后一个列表项。我试过这个:

&:after:not(li:last) {
  content: ">>";
  margin-left: 10px;
}

但这会使所有“>>”消失。

有人能告诉我如何在每个列表项之后添加一个“>>”,除了最后一个吗?

4

1 回答 1

14

你想要:not(:last-child)

&:not(:last-child):after {
  content: ">>";
  margin-left: 10px;
}

:last不是一个有效的 CSS 选择器,并且在:not(). 该li部分可以省略,因为您的嵌套选择器已经使用li.

:after,作为一个伪元素,也需要放在它之后:not()才有效。

于 2014-03-29T11:01:55.973 回答