Warum werden CSS-Regeln aufgrund ungültiger Selektoren gelöscht?
Ungültiger CSS-Selektor führt dazu, dass die Regel gelöscht wird: Begründung
Hintergrund
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.
Begründung
Die Begründung für das Verwerfen ganzer Regeln ist vielfältig:
- Mehrdeutigkeiten beim Parsen von Selektoren: Kommas und andere Satzzeichen können beim Parsen zu Mehrdeutigkeiten führen. Naive Parser haben möglicherweise Schwierigkeiten, den Umfang einer Selektorgruppe oder eines Deklarationsblocks zu bestimmen, ohne Fehler zu verursachen.
- Konsistenz bei der Fehlerbehandlung: Die einheitliche Behandlung aller Parsing-Fehler vereinfacht die Implementierung und vermeidet das Potenzial für inkonsistentes Verhalten browserübergreifend.
- Vorwärtskompatibilität:Anerkennung der Zukunft Das Potenzial für eine neue Selektorsyntax verhindert die Einführung komplexerer und mehrdeutiger Fehlerbehandlungsregeln.
Beispiel
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.
Alternative Ansätze
Das Löschen nicht erkannter Selektoren ohne Verwerfen der Regel wurde in Betracht gezogen. Es birgt jedoch potenzielle Risiken:
- Unerwartetes Selektorverhalten:Geparste Selektoren könnten falsch angewendet werden, was zu unerwartetem Layout oder Stil führt.
- Implementierung Komplexität: Zu bestimmen, wo ungültige Selektoren von gültigen getrennt werden sollen, kann schwierig und bedingt sein Fehler.
Ausnahmen
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Erstellen Sie ein JavaScript -Kontaktformular mit dem Smart Forms Framework

Hinzufügen von Kastenschatten zu WordPress -Blöcken und -Elementen

Entmystifizierende Bildschirmleser: Zugrunde Formen und Best Practices

Erstellen Sie einen Inline -Texteditor mit dem inhaltlichen Attribut

Machen Sie Ihren ersten Seltsamen -Sufle -Übergang

Vergleich der 5 besten PHP -Formbauer (und 3 kostenlose Skripte)

Datei hochladen mit Multer in node.js und ausdrücken
