Warum verwenden Browser-User-Agent-Stylesheets -präfixe CSS-Eigenschaften?

8

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:

%Vor%

Sieh gut aus. Aber warum konnten sie nicht etwas mehr so ​​verwenden?:

%Vor%

Das ist mir gerade passiert, und ich fand es ziemlich seltsam.

    
ACarter 01.03.2012, 16:25
quelle

2 Antworten

7

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.

>     
p.g.l.hall 01.03.2012, 16:31
quelle
1

Damit Entwickler sehen können, welche Elemente die Standardwerte des Browsers sind.

    
bookcasey 01.03.2012 16:30
quelle

Tags und Links