これは不可能だと思いますが、方法がある場合はお願いします。アイデアは、Webリソースフォルダーへのパスの変数があることです。
@root: "../img/";
@file: "test.css";
@url: @root@file;
.px {
background-image: url(@url);
}
私は結果としてこれを取得します:
.px { background-image: url("../img/" "test.css"); }
しかし、文字列を次のように1つの文字列に結合する必要があります。
.px { background-image: url("../img/test.css"); }
Lessで文字列を連結することは可能ですか?
変数補間 を使用します。
@url: "@{root}@{file}";
完全なコード:
@root: "../img/";
@file: "test.css";
@url: "@{root}@{file}";
.px{ background-image: url(@url); }
documentation を見るとわかるように、変数とプレーン文字列を一緒に使用して文字列補間を使用できます。
@base-url: "http://assets.fnord.com";
background-image: url("@{base-url}/images/bg.png");
画像を扱うための同じトリックを探していました。私はこれに答えるためにミックスインを使用しました:
.bg-img(@img-name,@color:"black"){
@base-path:~"./images/@{color}/";
background-image: url("@{base-path}@{img-name}");
}
次に使用できます:
.px{
.bg-img("dot.png");
}
または
.px{
.bg-img("dot.png","red");
}
transform: rotate(45deg)
の45deg
のような文字列のようなユニット値には、unit(value, suffix)
関数を使用します。例:
// Mixin
.rotate(@deg) {
@rotation: unit(@deg, deg);
-ms-transform: rotate(@rotation);
transform: rotate(@rotation);
}
// Usage
.rotate(45);
// Output
-ms-transform: rotate(45deg);
transform: rotate(45deg);
less.js またはlessphp(WordPress用の WP-Less プラグインのように)を使用しているかどうかはわかりませんが、lessphpでは~
: http://leafo.net/lessphp/docs/#string_unquoting