在CSS中,我可以选择一个不包含其他元素的元素吗?
例如:
<div>
<p>ABC</p>
<p>
<q>123</q>
</p>
<p>ABC</p>
</div>
我想为每个p
元素设置css,但不为包含q
的元素设置css。
这可能吗?
答案 0 :(得分:2)
如果这就是HTML的样子,你可以使用像这样的方法......
div p {
/* styles */
}
div p q {
/* styles to *undo* previous styles, plus additional ones */
}
答案 1 :(得分:0)
我在p元素上设置了一个边距,我不希望在p&gt; q元素。
不幸的是,单独使用CSS是不可能的。但是,您可以使用JavaScript实现此功能(以下示例使用jQuery):
$('p:not(:has(q))')
然后,您可以使用.css()
修改CSS:
$('p:not(:has(q))').css({
'margin': '5px'
});