Wie viele Präfixe braucht man heute noch?

Bei der Arbeit an meinem CSS3-Buch musste ich mich auch entscheiden, wie viele Präfixe ich bei den Beispielen einsetzen sollte, d.h. ob und wann bei einer der CSS3-Eigenschaften -moz-, -webkit- oder auch -ms- und -o- notwendig sind.

Das Ergebnis vorweg: Man braucht wesentlich weniger als oft angenommen wird. Beispielsweise sehe ich keinen Grund, das -moz-Präfix einzusetzen, wenn die Eigenschaft ohne Präfix vom Firefox schon seit vielen Versionen unterstützt wird. Der Firefox hat in Version 16 die direkte Unterstützung der Standardeigenschaften ohne Präfix implementiert, so etwa bei transform, transition, animation und bei den Funktionen für Farbverläufe wie linear-gradient(). Hier kann man auf -moz- verzichten.

Häufiger benötigt man hingegen das -webkit-Präfix: So gibt es etwa Eigenschaften transform, die zwar in Browsern wie dem IE10 und in Firefox ohne Präfix funktionieren, aber die man etwa für Android bis 4.4.4 mit dem -webkit-Präfix schreiben muss. Prinzipiell war ich auch beim -webkit-Präfix, recht konservativ und habe es etwas häufiger verwendet als beispielsweise Roger Johansson von BereaStreet vorschlägt – der Grund hierfür ist, dass es immer noch recht viele Smartphones mit älteren Betriebssystemen dadraußen gibt, die diese Angabe brauchen. So kann es auch noch sinnvoll sein, für Farbverläufe die veraltete Webkit-Syntax zu schreiben, die vor Android 4 notwendig sind.

Das -o-Präfix für ältere Opera-Browser benötigt man m.E. so gut wie nie – zum einen, weil Opera viele Eigenschaften direkt schon in der Standardversion implementiert hat, und zum anderen, weil die neue Opera-Version die Standardeigenschaft oder die -webkit-Eigenschaft brauchen.

Das heißt in den meisten Fällen, genügt es die Standardeigenschaft und diejenige mit dem -webkit-Präfix zu schreiben.

Natürlich könnte man auch argumentieren, dass zu viele Präfixe nichts schaden und dass es doch sein kann, dass es da draußen noch ältere Firefoxe herumlaufen, die sich standhaft allen Auto-Updates verweigern. Dann aber würde ich für Progressive Enhancement plädieren, d.h. auch das Akzeptieren der unterschiedlichen Darstellungen in den verschiedenen Browsern. Und wenn ein CSS3-Features ganz essenziell ist, dann benötigt man auf jeden Fall eine solide Fallbacklösung – weniger für ältere Firefox-Browser, sondern für den IE8 und Ähnliche.

Tipp: Und wer sich beim Schreiben des Codes mit den Präfixen unterstützen lassen möchte, sollte einmal Autoprefixer ansehen. Standardcode schreiben und sich die notwendigen Präfixe – je nach zu unterstützenden Browserversionen – automatisch erzeugen lassen. Das ist schon sehr bequem. Autoprefixer gibt es auch in einer Online-Version zum Testen.

Kommentare sind geschlossen.