Neulich habe ich untersucht, wie Browser (ich habe Chrome verwendet, aber ich vermute, dass es für alle gilt) HTML-Elemente mit User Agent Stylesheets formatieren.
Bei Verwendung von blockquote
habe ich Folgendes gefunden:
Sieh gut aus. Aber warum konnten sie nicht etwas mehr so verwenden?:
%Vor%Das ist mir gerade passiert, und ich fand es ziemlich seltsam.
Einige Browser verwenden CSS-Regeln wie diese, weil ihre Spezifikation noch nicht vom W3C finalisiert wurde. Wenn sie das Präfix nicht setzen würden, laufen sie Gefahr, dass das endgültige W3C-Standardformat etwas anders aussieht und erstellt wird Inkompatibilitäten zwischen Browsern oder zwischen Versionen desselben Browsers, wenn sie das Format auf die übliche Weise verändern.
Dies ist ein besonderes Problem für Regeln mit mehreren Argumenten - die Hauptsache, die schief gehen kann, ist, dass der Standard die Argumente in einer anderen Reihenfolge bekommt:
%Vor%... etc ...
Das Hinzufügen des Präfixes ist ihre Versicherung, dass, wenn der endgültige Standard sich von der Implementierung unterscheidet, nichts bricht.
Was den Teil über margin-before
anstelle von margin-left
anbelangt, scheint es so zu sein, weil die -webkit-margin-before
-Regel nicht gleichbedeutend mit margin-left
, sondern mit margin:before
ist, was ein neuerer Vorschlag ist Dinge funktionieren in RTL- und vertikalen Schreibmodi. Siehe diese Seite: Ссылка Es scheint jedoch ziemlich unklar zu sein.