次の構成の.lessスタイルシートがあります。
@width:600;
.some-style
{
width:@{width}px;
}
これにより、次のエラーが発生します。
Expected '}' on line x in file '..\styles.less'
px
変数を次のサフィックスと区別する必要があるため、これらの中括弧が必要です(@widthpx
と呼ばれる変数を検索するため、機能しませんwidthpx
)。600 px
また、有効なCSSではないため、スペースを使用できません。中括弧の代わりに括弧を使用しても機能しません。
私はここで何が間違っているのですか?
更新:パッケージマネージャーから最新バージョンの.lessをインストールしましたが、動作は少し良くなりましたが、致命的な欠陥があります。
width:@(width)px; <--note the parentheses
これでコンパイルされますが、このCSSを出力します。
600 px <--note the space, which is invalid CSS, thus useless.
解決済み:ScottSは私に解決策を指摘しました。彼の2つの方法に加えて、コンパイラは文字列に対して数学を実行できるようです。したがって、これは機能します。
@width:600px;
.some-style
{
width:@width / 2; <--correctly emits "300px"
}