Hallo Henry,
Mir gehts darum, dass sich alle Elemente einer bestimmten Klasse ohne Anhänge des Doms oder Schleifen, ändern
Ja, das hab ich überlesen.
In dem Moment, wo Du an einem Element eine Klasse oder ein Attribut veränderst, wird die Anwendbarkeit sämtlicher CSS Regeln neu bewertet. Je näher das geänderte Element dem Root-Element im DOM ist, desto mehr Elemente können davon betroffen sein. Wie die Browser das performant hinbekommen, ist auf größeren Seiten eine Herausforderung. Hatten wir nicht neulich einen Thread zum "Performancekiller CSS"? Das kann durchaus passieren.
Das Hinzufügen der Klasse special an den body macht die .special .xy
Regel wirksam und aktiviert in dem Moment, wo die Klasse am body erscheint, die Farbe Rot für alle Nachfahren-Elemente des Body, die die Klasse xy tragen.
Außer für die Elemente, die durch andere Regeln mit höherer Spezifizät eine andere Farbe bekommen.
Man müsste das mal genauer betrachten; ich weiß nur nicht, wie man das messbar hinbekommen kann. Das Ändern eines custom property, wie ich vorschlug, betrifft nur die angewendeten Regeln und verändert nicht die Anwendbarkeit des ganzen Regelwerks. Was ist performanter: Custom Property ändern oder eine Klasse setzen und eine Regel aktivieren?
Rolf
sumpsi - posui - obstruxi