如何将类定义中的样式应用于除最后一个之外的所有子div?

时间:2017-01-11 20:52:56

标签: html css css3 sass

我希望将两个类定义应用于所有子div,除了使用Sass的最后一个。这就是我的想法,但它不起作用:

<div class='all-but-last'>
    <div></div>
    <div></div>
</div>       
{{1}}

实现这一目标的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

.all-but-last {
  :not(:last-child) {
    .border-grey-light;
    .b-border;
  }
}

以上语法无效。这是更正

.all-but-last {
  :not(:last-child) {
    @extend .border-grey-light;
    @extend .b-border;
  }
}

为了使其工作,您必须导入包含您要扩展的类定义的文件。我没有必要使用&来使其发挥作用。

答案 1 :(得分:0)

如果您使用的是CSS预处理器,那么您编写的代码就可以了。但是,如果您使用&,则会遗漏LESS。所以试试这个:

.all-but-last {
  &:not(:last-child) {
    .border-grey-light;
    .b-border;
  }
}