Pixelgrößen für HTML-Text?

Um nochmal auf das Thema Internet Explorer 6 zurückzukommen: So langsam beginnt für mich tatsächlich die Zeit, wo ich nicht mehr einsehen mag, mich von diesem browserähnlichen Softwarerelikt einschränken zu lassen! Bei einem aktuellen Projekt in der Agentur habe ich von daher etwas gemacht, wofür man mich vor einem oder zwei Jahren gesteinigt hätte, das aber heutzutage meines Erachtens okay geht: Schriftgrade in Pixeln. Buh!

IE6 ist der einzige Browser, bei dem der Benutzer den Schriftgrad nicht verändern kann, wenn dieser per CSS in Pixelwerten angegeben ist. So what? Meine These: Diejenigen Personen, die sich bewusst sind, dass man überhaupt den Schriftgrad verändern kann, sind so technisch versiert und interessiert, dass sie bereits auf den IE7 aktualisiert haben, und das Problem somit nicht mehr auftritt. Diejenigen IE6-User, die das nicht wissen, haben keinerlei Nachteile, denn das Layout bleibt ja unverändert.

Schriftgrade in Pixeln sind durchaus eine sinnvolle Angelegenheit, und zwar aus mehreren Gründen:

  • Entgegen vieler Gerüchte sind CSS-Pixelangaben nicht mit Gerätepixeln gleichzusetzen. Wenn also jemand mit einem zukünftigen 300ppi-Bildschirm unterwegs ist, so wird dieser User per Betriebssystem eine entsprechende Einstellung vornehmen, dass die Schrift nicht ultra-winzig, sondern entsprechend schärfer und in angemessener Größe daher kommt. (Kann Vista das nicht schon?)
  • CSS-Pixel sind nicht abhängig von ihrem Elternelement – es gibt also keine Überraschungen, wenn man mal als Layoutgründen eine DIV-Schachtelung mehr benötigt und sich wundert, warum die H3 auf einmal so riesig ist!
  • Es gibt bei der 100%-Zoomdarstellung keine Rundungsfehler im Subpixelbereich mehr, so dass beispielsweise der Zeilenabstand von Textabschnitten oder der Abstand zwischen Boxen immer der exakt gleichen Pixelanzahl entspricht. Das lästige Umrechnen von Pixel in EM (abhängig von unterschiedlichen Basis-Schriftgraden) entfällt.

Ich glaube, dass man es mit Pixeln so viel einfacher hat, dass es sich wirklich lohnt, die IE6-Nutzer ein bisschen zu bestrafen herauszufordern, endlich den Upgrade zu machen. Andere schlagkräftige Gründe für den Einsatz von EM-Werten kenne ich nämlich nicht!

Doch es gibt noch weitere Angewohnheiten aus der IE6-Zeit, die ich eigentlich gerne loswerden möchte:

  • Input-Elemente benötigen zusätzliche Klassen, die dem type-Attribut entsprechen, weil man im IE6 keine type-Selektoren kennt!
  • Vor allem bei Tabellen vergebe ich oft die Klasse »first-child« in der ersten Spalte, obwohl das ja eigentlich per Pseudo-Klasse funktioneren sollte – nur nicht im IE6!
  • Der Verzicht auf die CSS-Funktion »display: table-row;« und »display: table-cell;« schmerzt bei vielen Layouts, weil sie verdammt nützlich sein können, unter anderem für die vertikale Zentrierung von Objekten innerhalb von Containern. Ich bin inzwischen soweit, dass ich JavaScript einsetzen würde, um dies im IE6 nachzurüsten.

Es gibt noch weitere Beispiele, wo man sich als Webdesigner einschränken muss und redundanten Code fabriziert, nur um einem Browser auf dem absteigenden Ast gerecht zu werden. Ich denke: Solange es keine optischen Katastrophen gibt, oder man per JavaScript ergänzend eingreifen kann, sollten wir so langsam die Möglichkeiten von CSS2 mal voll ausnutzen. Fangen wir an, moderner zu coden, und versprechen wir unseren Kunden nur noch eine 95%ige Kompatibilität für den Internet Explorer 6, Baujahr 2001(!).