如何在Less中将mixin param传递给nth-of-type?

时间:2014-08-11 11:01:19

标签: css less less-mixins

我通过将@var传递给我的混音来设置列数,如下所示:

.author-card(@numberOfCards) {
    width: 100% / @numberOfCards - 2%;
    padding-bottom: 165% / @numberOfCards - 2%;
}

我希望每列都有一个margin-right: 2%,除了最后一行。所以,我尝试做以下事情:

.author-card(@numberOfCards) {
    width: 100% / @numberOfCards - 2%;
    padding-bottom: 165% / @numberOfCards - 2%;
    margin-right: 2%;
    &:nth-of-type(n * @numberOfCards) {
        margin-right: 0;
    }
}

此时Less编译器无法编译。

我可以在Less中实现这一目标吗?也许有其他方法可以做到这一点?

我收到以下错误:

  

ParseError:myStylesheet.less

中无法识别的输入

1 个答案:

答案 0 :(得分:4)

要执行选择器插值,您需要将变量放在大括号中,如下所示:

.author-card(@numberOfCards) {
    width: 100% / @numberOfCards - 2%;
    padding-bottom: 165% / @numberOfCards - 2%;
    margin-right: 2%;
    &:nth-of-type(@{numberOfCards}) { // note the change.
        margin-right: 0;
    }
}

Selector Interpolation - Syntax Reference