考虑这个带有 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
,我需要指定两个 CSS 路径:
.aa > .bb > .cc,
.aa > .cc { .... }
这行得通,但是,没有更短的方法吗?与此类似的东西:
.aa > (.bb >)? .cc { ... } /* ? means "optional" */
使用 CSS 或 Stylus 或 LESS 之类的东西?
动机:在现实世界中,“aa”和“bb”和“cc”的名字有点长,“aa”和“cc”前后的东西更多,不需要重复就好了那些东西。
请注意:在我的情况下,这不起作用:.aa .cc
因为那会匹配页面上其他地方的太多.cc
s 。.cc
s 需要紧接在或.aa
之下.aa > .bb
。