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.

  • -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

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.

Beachte: Das im Beispiel verwendete -moz-border-radius ist nicht mehr notwendig.
Hinweis:
Du solltest 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

Da im Mobilbereich viele Webseiten vor Allem auf Webkit-basierten Browsern aufgerufen 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.

Ein Browser-Flag ist eine versteckte Einstellung im Browser, mit der man neue Funktionen ausprobieren kann, die noch nicht für alle Nutzer freigeschaltet sind. Man kann sie ein- oder ausschalten, um neue Features zu testen, bevor sie standardmäßig verfügbar sind.

Beispiel: chrome://flags in Chrome zeigt viele solcher Flags.

Sie erlauben Entwicklern und Testern, neue Web-Funktionen auszuprobieren, bevor sie offiziell in allen Browsern verfügbar sind.

Das hilft beim Testen von Kompatibilität:

  • Man kann sehen, ob ein Feature in der Praxis funktioniert.
  • Man erkennt Probleme oder Unterschiede zwischen Browsern früh.
  • Feedback aus solchen Tests kann in die Entwicklung von Standards wie HTML oder CSS einfließen.

Siehe auch

Weblinks


Abgerufen am 28.12.2025
von "http://wiki.selfhtml.org/wiki/Browserpr%C3%A4fix"