0
私はこのLESS
コードの長さが3から25までです。しかし、入力は5.1
または6.2
などでなければなりません。 LESS
CSSでは、length5.1char
の代わりにlength5-1char
...のようにドットをハイフンに置き換えるようにしたいと思います。ここでLESS - CSS内の変数を置換する
は私のコードです:
<h2>5.1</h2>
<div class="length5-1chars">
Width...
</div>
<p>The above bar should be much, much shorter.</p>
<h2>20</h2>
<div class="length20chars">
Hello
</div>
<h2>15</h2>
<div class="length15chars">
Hello
</div>
<h2>10</h2>
<div class="length10chars">
Hello
</div>
LESS:
@fieldLengths: 3, 4, 5, 5.1, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 25;
// mixin to iterate over colors and create CSS class for each one
.make-field-lengths(@i: length(@fieldLengths)) when (@i > 0) {
.make-field-lengths(@i - 1);
@fieldLength: extract(@fieldLengths, @i);
@name: replace(~"@{fieldLength}", "/^\d+\.\d+$/i", "-");
[email protected]{name}chars {
@newWidth: floor(@fieldLength * 7 + 10);
width: ~"@{newWidth}px";
}
}
.make-field-lengths();
div {
background: #cacaca;
border: 2px solid black;
margin-down: 15px;
}
LIVE DEMO:http://codepen.io/anon/pen/XKJqyM
あなたはCSS]タブに移動し、コンパイルされたバージョンを表示した場合、あなたは意志それを参照してくださいまだは012と言うべきであるとき.length5.1chars
と言うこれで
@name: replace(~"@{fieldLength}", "/^\d+\.\d+$/i", "-");
を::
@name: ~`"@{fieldLength}".replace(/\./i, '-')`;
ことがLESS変数が矛盾する文字が関与している適切な構文であるため、それが働いた
'replace(〜" @ {field-length} "、" \。 "、 - );'は十分なはずです(http://less2css.org/#%7B%22less%22%3A% 22%40フィールド - 長さ%3A%205.1%3B%5Cn%40%%3A%20再配置(〜%5C%22%40%7Bフィールド長%7D%5C%22%2C%20%5C%22%5C%5C。 %5C%22%2C%20 - %3B%5Cn%5Cn%40%7Bname%7D%20%7B-%3A-%7D%22%7D)。 –