Vendor-Präfixe in CSS
In der Vergangenheit entstand unter Browsern die folgende Situation: Bevor eine CSS-Eigenschaft in die Spezifikation aufgenommen wurde, implementierten Browser eine Testversion dieser Eigenschaft mit einer speziellen Vorsilbe, die als Vendor-Präfix bezeichnet wird.
Schauen wir uns am Beispiel der Eigenschaft
box-sizing
an, wie das aussieht:
p {
box-sizing: border-box;
}
Diese Eigenschaft wurde erst ab Firefox29 unterstützt,
war jedoch bereits ab Version Firefox2
mit dem Präfix -moz verfügbar:
p {
-moz-box-sizing: border-box;
}
Andere Browser hatten ähnliche Vorsilben:
-moz - Mozilla Firefox, -webkit
- Browser auf der Webkit- und Blink-Engine, -o
- Opera auf der Presto-Engine, -ms - IE.
So sah die cross-browser-kompatibelste Version
der Eigenschaft box-sizing unter Verwendung
von Vendor-Präfixen in etwa so aus:
p {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
}
Heutzutage haben sich Browser aufgrund der Umständlichkeit von Präfixen entschieden, auf sie zu verzichten. Stattdessen verwendet man nun sogenannte Flags. Eigenschaften werden nun im Browser implementiert, sind aber standardmäßig deaktiviert. Sie können jedoch in den Browsereinstellungen aktiviert werden, indem man das entsprechende Häkchen in den Einstellungen setzt. Dies wurde eingeführt, damit Entwickler die Möglichkeit haben, mit einer neuen Eigenschaft zu experimentieren, bevor sie offiziell eingeführt wird.