2017-02-20 4 views
2

Ich habe ein Kind Element des Selektors und ich möchte Eigenschaft für alle Elemente außer diesem Selektor festlegen. Ich benutze diesen Code:: Nicht alle untergeordneten Elemente verwenden CSS?

*:not(#element):not(#element *) { 
 
    font-size: 14px; 
 
}
<div id="element"> 
 
    <p>Something</p> 
 
</div> 
 
<p>font size is 14px</p>

Aber es funktioniert nicht.

Wenn ich *:not(#element) verwenden, funktioniert es, aber wenn ich *:not(#element *) verwende es nicht.

+6

diese Antwort Siehe ► [CSS \ *: nicht (div p) nicht wählen alles] (http://stackoverflow.com/a/20774599/448144) Es erklärt, dass nur einfache Selektoren funktionieren, wenn Sie ': not()' verwenden und wie Sie es umgehen können. – Nope

+0

danke für die Antwort –

+0

Und selbst wenn ': not (#element *)' wäre gültig, wäre es immer noch 1) geschrieben worden als '*: nicht (#element),: nicht (#element *)' mit a Komma dazwischen, und 2) es hätte nicht funktioniert, da der Elternteil des div, sagen wir der Körper, die Schriftgröße bekommen wird, und Schriftgrößen erben, so dass Sie immer noch die gleiche Größe bekommen würden, anstatt was es ist wäre in Abwesenheit von CSS gewesen. –

Antwort

1

Sie können einfach Ihre Wähler invers und angeben, dass #element und #element * eine andere Schrift hat:

* { 
 
    font-size: 14px; 
 
} 
 

 
#element, 
 
#element * { 
 
    font-size: 25px; 
 
}
<div id="element"> 
 
    <p>Something</p> 
 
</div> 
 
<p>font size is 14px</p>

Verwandte Themen