In CSS-Selektoren Level 3 führen Analysefehler dazu, dass Regeln verworfen werden ungültige Selektoren. Dieses Verhalten wird von Browsern seit Jahren konsequent implementiert und gewährleistet eine vorhersehbare Fehlerbehandlung.
Die Begründung für das Verwerfen ganzer Regeln ist vielfältig:
Um das Problem zu veranschaulichen, finden Sie hier eine Beispielregel:
#menu li.last, #menu li:last-child { ... }
In Browsern wie IE8, denen die :last-child-Unterstützung fehlt, wird die gesamte Regel aufgrund eines ungültigen Selektors verworfen, obwohl der erste gültig ist Selektor.
Das Löschen nicht erkannter Selektoren ohne Verwerfen der Regel wurde in Betracht gezogen. Es birgt jedoch potenzielle Risiken:
Einige Layout-Engines können ein abweichendes Verhalten aufweisen. WebKit ignoriert vorangestellte Selektoren, während andere die gesamte Regel ignorieren. Diese Abweichungen verdeutlichen das Potenzial für browserübergreifende Inkonsistenzen, wenn die Fehlerbehandlungsregeln überarbeitet werden.
Das obige ist der detaillierte Inhalt vonWarum werden CSS-Regeln aufgrund ungültiger Selektoren gelöscht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!