add a rule to an element only if it has a certain

2019-01-28 05:09发布

Is there a way of adding CSS rules to an element only if it has an certain child element ? I do know it is not possible to do it with CSS, but I'm not sure if it is possible to do it with LESS.

标签: css css3 less
2条回答
We Are One
2楼-- · 2019-01-28 05:43

If it is not possible with CSS, then it is not possible with LESS, which compiles to plain old vanilla CSS.

The problem is, that the LESS is compiled without knowledge of the HTML it is applied to, and without any client side scripting. Therefore, it is impossible to achieve anything with LESS that can not be achieved by using CSS alone.

You could achieve what you want by using client side javascript, or you could wait until CSS4 comes out, and use the parent selectors to the same effect as what you want.

查看更多
SAY GOODBYE
3楼-- · 2019-01-28 05:45

This isn't possible in CSS or LESS.

I would suggest your best bet is jQuery.

If your parent element is .parent and your child is .child, you could do:

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

See Example: http://jsfiddle.net/d8Lz5/

查看更多
登录 后发表回答