Browserpräfix

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Bei der Einführung neuer CSS3-Eigenschaften wurden diese oft von einzelnen Browsern schon vor der Übernahme in den Standard implementiert. Damit diese jedoch keine Probleme verursachen, wenn ein Entwurf geändert oder verworfen wird, waren die Hersteller dazu angehalten, Eigenschaften und Werte als herstellerspezifisch mit einem vendor-prefix zu kennzeichnen.

Übersicht[Bearbeiten]

  • -moz-: Gecko Rendering Engine (Mozilla Firefox)
  • -ms-: Trident Rendering Engine (Microsoft Windows Internet Explorer)
  • -o-: Presto Rendering Engine (Opera bis Version 12)
  • -webkit-: WebKit Rendering Engine (Apple Safari, Google Chrome Opera 15+)
  • -khtml-: KHTML Rendering Engine (Konqueror); einige ältere -khtml-Eigenschaften werden auch von WebKit verstanden.

Verwendung[Bearbeiten]

Beispiel
main {
 -moz-border-radius: 1em; /* Für Gecko (z.B. Firefox, SeaMonkey) */
 border-radius: 1em; /* Eigenschaft gemäß Standard */
}
In diesem Beispiel wird eine Eigenschaft mehrfach definiert. Zuerst spezifisch für Gecko-Browser, anschließend in der standardisierten Form. Dadurch soll sichergestellt werden, dass eine Eigenschaft auch dann erhalten bleibt, wenn ein Hersteller seine Implementierung gemäß Standard aktualisiert.
Beachten Sie: Das im Beispiel verwendete -moz-border-radius ist nicht mehr notwendig.

Hinweis

Sie sollten bei der Definition solcher noch nicht umfassend verbreiteter Eigenschaften die herstellerspezifischen Angaben immer vor der standardisierten Form machen. Da später gemachte Angaben frühere überschreiben, ist so sichergestellt, dass die standardisierten Angaben von dem Zeitpunkt an, an dem sie unterstützt werden, auch verwendet werden.

Heutige Praxis[Bearbeiten]

Da im Mobilbereich viele Webseiten vor Allem auf Webkit-basierten Browsern angesehen wurden, hatten sich Webentwickler leider angewöhnt, CSS-Eigenschaften nur mit -webKit-Präfix zu verwenden. Dies zwang, weil Mängel in der Darstellung zuerst dem Browser angelastet werden, Microsoft (und 2016 Mozilla) dazu ebenfalls -webkit-Präfixe zu unterstützen, was die ursprüngliche Idee ad absurdum führt.

Obwohl das W3C an der Idee der Browser-Präfixe festhält, setzen die Browserhersteller heute vermehrt auf Browser-Flags zum Aktivieren experimenteller Techniken.


Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]