有没有办法使用纯 CSS(3) 来选择具有特定类的元素的前一个同级元素?
i.e.:
html:
<div id='element-to-find'></div>
<div id='box1'></div>
<!-- a bunch more DOM elements between here --->
<div id='box2'>
<div id='inner-box'></div>
</div>
css:
#box1{ /*some styling*/ }
#box2{ /*some styling*/ }
#box2.active .....
现在,当 #box2 有类时active
我想选择并做一些风格#element-to-find
。有办法实现这个吗?
ww 向 CSSWG 提出了多项提案[电子邮件受保护] /cdn-cgi/l/email-protection与前兄弟组合器一样的邮件列表:my one http://lists.w3.org/Archives/Public/www-style/2012Jan/1245.html(2012),另一个1 http://lists.w3.org/Archives/Public/www-style/2013Feb/0279.html, 2 http://lists.w3.org/Archives/Public/www-style/2013Apr/0074.html (2013).
塔布·阿特金斯 (Tab Atkins) 的常见回答是“我们已经有这方面的主题指示符”。用于选择后人前一个兄弟的(这对于前一个兄弟的组合器来说是微不足道的,例如.example - UL > LI
),他建议使用:matches()
函数伪类,例如:matches(!UL + .example) > LI
。主题指标和:matches()
目前处于草案状态,还不能在现实世界中使用。
所以你应该添加一个常规类element-to-find
元素或(如果您的active
类不是通过 JS 添加的)使用 JavaScript 来模拟 previous-sibling-combinator 功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)