Lessの中でforループを実行したいと思っています。 Lessの中でこれを行うことは可能ですか?私はそれがjsを評価する能力を持っていることを知っていますが、この程度ですか?LESS CSSの内部でJavascript forループを実行できますか?
答えて
チェックアウトにはTwitter Bootsrapをお勧めします。彼らはそのようにグリッドシステムを構築しています。彼らは必要なすべてのクラスを入力するのではなく、少ないミックスインで再帰でループします。
興味深い部分はmixins.lessファイルで、lessディレクトリの "// The Grid"コメント(516行目)の下にあります。興味深い部分は、次のとおりです。(特に)を生成
#grid > .core(@gridColumnWidth, @gridGutterWidth);
:
.span12 {
width: 940px;
}
.span11 {
width: 860px;
}
.span10 {
width: 780px;
}
...
bootstrap.cssをこの方法以下のディレクトリにgrid.lessファイルで呼び出され
#grid {
.core (@gridColumnWidth, @gridGutterWidth) {
.spanX (@index) when (@index > 0) {
(~"[email protected]{index}") { .span(@index); }
.spanX(@index - 1);
}
.spanX (0) {}
...
.span (@columns) {
width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
}
...
@gridColumnWidth、@gridGutterWidthおよびその他の変数のチェックvar iables.lessファイル(184行目)
最後のバージョンのlesscノードコンパイラがインストールされていることを確認してください。
ありがとうございました。誰かがこれを理解するのに困っている/詳細な説明が必要な場合:http://blog.thehippo.de/2012/04/programming/do-a-loop-with-less-css/ – TheHippo
私はこれをBootstrapで見ました昨夜、それが私の心を吹き飛ばし、私は自分のグリッドライブラリに実装しなければなりませんでした。非常にすばらしい! – kalisjoshua
あなたはそれが役に立ちますようにうれしい@kalisjoshua!応援はいつも歓迎です:) – AlessMascherpa
the docsのループについては何もありませんが、あなたは、バッククォートを経由してJavaScriptの表現にアクセスすることができるので、あなたは常にあなたのスクリプト(ない自分のLESSコード内の関数を定義するが、JavaScriptでき —は例えば、IFは、ブラウザでは、あなたがしたいです例えば、あなたのループを実行し、別script
要素)を持っているし、それをアクセス:
@height: `doMyLoop()`
それはあなたがループで達成しようとしているものに依存します。ループにCSSルールを出力させたい場合は、運が悪いと思われます。
私は24 colグリッドで作成するループを作成しようとしています。基本的には、24回まで循環してグリッドクラスを作成したいと思っています。 .grid_1、.grid_2、....、.grid_24 –
これは上記のAlessMascherpaで与えられた例を小さな改行で行うことができますが、出力が下がる(10,9,8 ...)と上がる(1、 2,3 ...)、それは単なる文体的なものです。 – augurone
これはハックですが... これをファイルに追加してください。
@testColor: green;
unusedclass {
unknownprop: ~`loopCss(10,".group{{i}} { background-color: @{testColor}; }")`
}
次の関数でのJavaScriptファイルloopCss.jsを作成します。
function loopCss(count,cssTemplate) {
// end the existing unused class
var result = "0;}\n";
// Add your custom css
for(var i=0; i<count; i++) result += cssTemplate.replace("{{i}}",i) +"\n";
// Handle the close bracket from unused class
result += "unusedclass {";
return result;
}
は、今すぐあなたのless.js前loopCss.jsが含まれており、それが動作するはずです。
- 1. forループ内でのクエリの実行
- 2. LESS CSS syntax for modernizr
- 3. forループがless css mixinで動作しない
- 4. forループ内でJavascript関数が無限に実行される
- 5. Javascript for forループは最初から実行されます
- 6. コードブロックをforループ内で一度だけ実行できますか?
- 7. javascriptはforループ内でネストされたAjaxコールを実行します
- 8. forループはwhileループ内では実行されません。
- 9. forループ内のループ? - Javascript
- 10. 内部for..inループ
- 11. JavaScript 'for'ループの実行順序は?
- 12. 外部forループのみをスカラーで実行する方法は?
- 13. Javascriptのforループで別のAPIを実行する
- 14. forループ内の文がループで実行されない場合
- 15. forループ内のループは一度だけ実行されます
- 16. C#Forループの内部メソッド
- 17. forループ内のクロージャー、内部IIFEは何ですか?
- 18. JavaScriptのforループ内のsetInterval
- 19. forループの後にjavascriptを実行します
- 20. 関数内のJavaScript forループ
- 21. FORループ内で複数回実行するelse文を避けますか?
- 22. 同じLESSファイル内の複数の 'for'ループ
- 23. forループのJavascriptで
- 24. node.jsで実行する前にforループ内で実行されるコード
- 25. javascriptの中でTwig forループを実行する代わりに何ができますか?
- 26. bash forループ内でpsqlコマンドを実行する方法
- 27. Awk分割内でSedコマンドを実行する(forループ)
- 28. Forループをバッチファイルで実行する
- 29. forループのconst内のES6の内部
- 30. アンドロイドアプリの内部ストレージからmakeを実行できますか?
LESSは単なるCSSプリコンパイラです。最終的な結果は、単純なCSSです。私はJavascriptがどこに来るのかわかりません。 –
@Pekka:LESSは、ブラウザのクライアント側とNode.js([more here](http://lesscss.org/))を介してサーバー側の両方で動的に実行できます。その構文の一部は実際に(クライアント側の)JavaScript式を評価することです: '@height:\' document.body.clientHeight \ '; ' –
@ T.J。ああ、あなたは何を知っていますか?興味深い、ありがとう。 –