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

时间:2012-10-31 14:20:15

标签: css css3 less

是否有一种方法只有在元素具有某个子元素时才向其添加CSS规则?我知道用CSS做这件事是不可能的,但我不确定是否可以用LESS来做。

2 个答案:

答案 0 :(得分:5)

如果使用CSS无法实现,那么LESS就无法实现,它将编译为普通的旧vanilla CSS。

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

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

答案 1 :(得分:5)

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

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

如果您的父元素为.parent而您的孩子为.child,则可以执行以下操作:

$('.parent:has(.child)').addClass('myClass');

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