Abwärtskompatibilität
Das Einfügen von einzeiligen Kommentaren in die CSS-Syntax kann die Bedeutung von Dateien ändern, die derzeit das Token verwenden //
. Browser-Anbieter zögern sehr , Änderungen vorzunehmen, die möglicherweise vorhandene Seiten beschädigen könnten.
CSS ist mit sehr genauen "fehlertoleranten" Parsing-Regeln definiert, was bedeutet, dass selbst wenn Sie etwas syntaktisch Unzulässiges schreiben, es genaue Regeln gibt, wie das Parsen erfolgen soll. Wenn eine unzulässige Folge von Zeichen (wie //
) in einer Deklaration erkannt wird, wird die aktuelle Deklaration verworfen und alles bis zum nächsten Semikolon übersprungen.
CSS ist so konzipiert, dass es die Einführung neuer Syntax ermöglicht, ohne alte Browser zu beschädigen. Alte Browser überspringen nur die Deklaration, die nicht unterstützte Syntax enthält, und fahren danach fort.
Diese Logik geht jedoch davon aus, dass die "Einheit", die verarbeitet oder übersprungen werden soll, die Deklaration ist. Wenn einzeilige Kommentare eingeführt würden, würde dies bedeuten, dass die Analyse danach //
bis zum nächsten Zeilenumbruch und nicht bis zum nächsten Semikolon übersprungen werden sollte, wodurch geändert wird, welche Regeln analysiert und welche übersprungen werden. Dies könnte möglicherweise die Bedeutung vorhandener CSS-Dateien auf überraschende Weise ändern.
Ein Beispiel:
P { font: 12px//16px; }
... hundreds of additional lines of CSS...
Hier habe ich fälschlicherweise den Schrägstrich verdoppelt. Die Folge ist, dass die Schriftdeklaration ignoriert wird, der Rest funktioniert jedoch einwandfrei. Wenn die Unterstützung für //
-Kommentare eingeführt würde, würde die schließende Klammer plötzlich auskommentiert, wodurch möglicherweise der gesamte Rest des Stylesheets beschädigt würde.
Man könnte sagen, dass ich selbst schuld bin, da ich einen Fehler gemacht habe, aber das ändert nichts daran, dass eine unbekannte Anzahl von Seiten im Internet aus undurchsichtigen Gründen beschädigt oder seltsam gerendert werden kann.
Eine solche Änderung, die die Abwärtskompatibilität beeinträchtigt, sollte sehr sorgfältig abgewogen werden, und einzeilige Kommentare sind für das Risiko wahrscheinlich nicht zwingend genug, da Sie nur ein paar Tastatureingaben sparen.
Wenn CSS also einzeilige Kommentare haben sollte, sollte es wahrscheinlich von Anfang an eingeführt worden sein. Aber CSS begann mit einer sehr einfachen Sprache und zwei verschiedene Kommentarsyntaxen wären zu dieser Zeit als unnötige Komplexität angesehen worden. (Sogar ANSI C hatte keine einzeiligen Kommentare.)