Es funktioniert, aber Sie sagen dem Browser, dass img
Elemente in etwas verpackt werden müssen. So img
Tags direkt in der article
Tag wird nicht funktionieren, aber alles geschachtelt z. in einem div
Willen:
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>
Was Sie wahrscheinlich brauchen:
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>
Bitte, den Rat aus den Kommentaren betrachten und sehen, ob Ihre Situation erlaubt keine alternative Lösung, die t nicht verwendet er *
Universal und :not
Selektor. Z.B.
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>
Aber ob das verwendbar für Sie ist abhängig von der gesamten Kontext: dies kann viel einfacher sein.
Können Sie HTML-Code posten, um das Problem zu reproduzieren? – Pugazh
Warum nicht einfach verschiedene Regeln für 'article img' vs.' figure img' angeben? https://jsfiddle.net/ds33989g/ – alex
@alex dachte darüber nach, würde eine etwas schlauere Art bevorzugen – Vaino