2

今日、LESS を使い始めたばかりです...私が理解しようとしている質問があります。クラス名が何であるかを事前に知らなくても
、親 UL と同じクラス名を持つ LI にスタイルを適用する方法はありますか?

たとえば、次の HTML があります。

<ul class="random-classname">
    <li class="foo">foo</li>
    <li class="random-classname">Select Me!</li>
    <li class="bar">bar</li>
</ul>

CSS で特定のクラス名を使用せずに、その 2 番目の要素に背景色を適用したいと考えています。

4

2 に答える 2

2

これは、非常に特定のユースケースでの質問にのみ回答します。これは、あなたのユースケースとはまったく異なると思われます(クラス名をcssに入れる必要があるため、プログラマーが別のユーザーに割り当てさせる可能性があるだけです)。他の誰かが役に立つと思うかもしれないという理由だけで、ここでそれを提供します。

シナリオがコンパイル時に「ランダムな」名前を知っているようなものである場合、クラス名を変数として設定し、次のように処理できます。

@randomName: random-classname; //set at compile time

.@{randomName} {
  straight-property: value;
  & > & {
    nested-property: value;
  }
}

どちらが生成されますか:

.random-classname {
  straight-property: value;
}
.random-classname > .random-classname {
  nested-property: value;
}

上記は、何らかのタイプのフレームワークを構築している場合、または他の段階でユーザー入力からphpを介して変数を動的に設定している場合に役立つ場合があります。しかし、実際の出力CSSで「一般的な」ソリューションを望んでいたと思いますが、これは(コメントが指摘しているように)現在は不可能です。

于 2013-07-09T23:07:10.900 に答える
-1

あなたはこれを考えすぎています。.random-classnameLESS であるか CSS であるかに関係なく、セレクターのみを使用すると、ulli...の両方が選択されます。

于 2013-07-09T20:35:55.540 に答える