CSSクラスaa、bb、およびccを含むこのHTMLについて考えてみます。
<div class='aa'>
<div class='bb'>
<div class='cc'>
</div>
</div>
</div>
class=cc
次のようにタグを選択できます.aa > .bb > .cc
。ただし、私の場合、.bb
タグがない場合があります。つまり、HTMLは次のようになります。
<div class='aa'>
<div class='cc'>
</div>
</div>
.cc
したがって、に近いものをすべて選択するには.aa
、2つのCSSパスを指定する必要があります。
.aa > .bb > .cc,
.aa > .cc { .... }
これは機能しますが、もっと短い方法はありませんか?これに似たもの:
.aa > (.bb >)? .cc { ... } /* ? means "optional" */
CSSまたはStylusやLESSのようなもので?
動機:現実の世界では、「aa」と「bb」と「cc」はやや長い名前であり、「aa」と「cc」の前後にはもっと多くのものがあり、複製する必要がないのはいいことですそのもの。
注意:私の場合、これは機能しません。ページの他の場所で.aa .cc
一致するものが多すぎるためです。.cc
は.cc
、のすぐ下.aa
、またはのいずれかである必要があります.aa > .bb
。