LESSに出力に直接子セレクタ(>)を適用させる方法はありますか?即時子セレクタがLESS
.panel {
...
> .control {
...
}
}
やLESSのようなものを生成している:
実際.panel > .control { ... }
LESSに出力に直接子セレクタ(>)を適用させる方法はありますか?即時子セレクタがLESS
.panel {
...
> .control {
...
}
}
やLESSのようなものを生成している:
実際.panel > .control { ... }
UPDATE
、内のコードを私のstyle.lessで
、私のような何かを書きたいです元の質問はうまく動作します。子セレクタ>
を使うことができます。
答えを見つけました。
.panel {
...
>.control {
...
}
}
">"と "。"の間にスペースがないことに注意してください。それ以外の場合は機能しません。
公式の方法:
.panel {
& > .control {
...
}
}
&
は、常に現在のセレクタを指します。これは、クラスの宣言時にを減らすことができます
tr {
& > td:first-child {font-weight:bold;}
}
:あなたは、このような<tr>
の最初の<td>
として、最初の子要素をターゲットにしている場合
は、あなたがこのようなものを使用することができ、また、http://lesscss.org/features/#features-overview-feature-nested-rules
これはパーサをだますことです(他の回答について感じたように)。私に説明させてください。あなたが言ったように、&は常に現在の(親)セレクタを参照します。だからそれが後になるものは**親に**適用すべきです。そして、それは疑似クラスの役割です。即時の子クラスは、疑似クラスではなく****気になる****の子クラスに近い。したがって、>を使用する方が直感的で論理的です。 – Dave
もっと正確だと思いますか? 'div> p'または' div> p'ですか? '&'コンビネータは、私の気持ちではなく、標準的な方法です。あなたの説明は、改革的です。 CSSを1行に書く人もいます... –
ほとんどの人はLESSを使用しているため、実際に生成されるCSSについて気にする必要はありません。とにかく、スペースは>の後に使用できることが分かります。したがって&純粋に冗長です。 – Dave
を参照してください。彼らは必要ではありません。
「&」を使用している間は、正しい構文が後になり、ここでは冗長になります。
.panel{
> .control{
}
}
less guidelinesによると、「&」が先祖をパラメータ化するために使用されている(ただし、ここではそのような必要はありません)。 this less exampleの場合、&:ホバーは、より重要です。ホバーの場合、構文エラーが発生します。しかし、ここで '&'を使用するための構文上の要件はありません。それ以外の場合は、本質的に親を参照するので、すべてのネストには「&」が必要です。
@JJF答えなので質問しませんか? –
http://stackoverflow.com/questions/7634932/less-js-strong-nested-rules – thirtydot
あなたの質問のスニペットはうまく答えました。 – thirtydot
@thirtydotスペースを削除したり、 "&"を追加したりしないとうまくいかないことを除いて、確かに。 less.jsを使用しています他のパーサーには絶対に言えません。 – Dave