仅当元素具有特定子元素时才向其添加规则

Rol*_*and 4 css css3 less

有没有办法只在CSS元素具有某个子元素时才将其添加到元素中?我知道用CSS做这件事是不可能的,但是我不确定是否可以用LESS来做.

Bil*_*oon 5

如果使用CSS是不可能的,那么LESS就不可能,它编译为普通的旧vanilla CSS.

问题是,编译LESS时不知道应用它的HTML,也没有任何客户端脚本.因此,单独使用CSS无法实现LESS无法实现的任何功能.

你可以通过使用客户端javascript实现你想要的,或者你可以等到CSS4出来,并使用父选择器达到你想要的效果.


Cur*_*urt 5

这在CSS或LESS中是不可能的.

我建议你最好的选择是jQuery.

如果您的父元素是.parent您的孩子.child,您可以这样做:

$('.parent:has(.child)').addClass('myClass');
Run Code Online (Sandbox Code Playgroud)

参见示例:http://jsfiddle.net/d8Lz5/