它的工作,但你告訴瀏覽器img
元素必須包裝在東西。因此img
直接位於article
標記內的標記將不起作用,但嵌套的內容例如在div
遺囑:
article *:not(figure) img {
border: 2px solid red;
}
<article>
<img src="//placehold.it/50">
<figure class="x">
<img src="//placehold.it/50">
</figure>
<div>
<img src="//placehold.it/50">
</div>
</article>
什麼你可能需要:
article *:not(figure) img,
article > img{
border: 2px solid red;
}
<article>
<img src="//placehold.it/50">
<figure class="x">
<img src="//placehold.it/50">
</figure>
<div>
<img src="//placehold.it/50">
</div>
</article>
請不要考慮的評論意見,看看你情況不允許不使用t的替代解決方案他通用*
和:not
選擇器。例如。這可能是簡單了很多:
article img {
border: 2px solid red;
}
article figure img {
border: none;
}
<article>
<img src="//placehold.it/50">
<figure class="x">
<img src="//placehold.it/50">
</figure>
<div>
<img src="//placehold.it/50">
</div>
</article>
但不管是對你有用取決於整個背景。
您可以發佈重現問題所需的HTML嗎? – Pugazh
爲什麼不只是爲'article img'和'figure img'指定不同的規則? https://jsfiddle.net/ds33989g/ – alex
@alex想過這個,寧願稍微聰明的方式 – Vaino