Twitter Bootstrap の LESS ファイル ( source.span1
)で.span12
クラスが定義されている方法を見てみましょう。これらは、いわゆる「ミックスイン」 (ここでの例を参照) を使用して定義され、実行されます (ここでの例を参照)。
Bootstrap のコードから ( mixins.less
):
// The Grid
#grid {
.core (@gridColumnWidth, @gridGutterWidth) {
.spanX (@index) when (@index > 0) {
(~".span@{index}") { .span(@index); }
.spanX(@index - 1);
}
.spanX (0) {}
/* ... a lot of code here ... */
}
/* ... other code ... */
}
ミックスインの使用法 ( 内grid.less
):
// Fixed (940px)
#grid > .core(@gridColumnWidth, @gridGutterWidth);
// Fluid (940px)
#grid > .fluid(@fluidGridColumnWidth, @fluidGridGutterWidth);
ミックスインについて詳しく学ぶことから始めるのが良いでしょう: http://lesscss.org/#-mixins
しかし、1 つのアドバイスがあります。前述の「変数」のすべての値に対してこれを機能させたい場合は、停止してください。これは CSS にコンパイルする必要があり、CSS では、(クラスの名前の一部に基づいて、すべてのクラスの一致基準に動的にスタイルを適用するために) 必要なことを行うことができません。考えを再考してください。