1

@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 の認識できない入力

4

1 に答える 1

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;
    }
}

セレクタ補間 - 構文リファレンス

于 2014-08-11T11:06:37.680 に答える