Freitag, 17. Juli 2009

!important - go home!

Eine wirkliche Seuche für eine Frontend-Infrastruktur ist die Verwendung von !important-Regeln. Einmal damit angefangen, verbreitet sich diese Auszeichnung wie ein Geschwür in sämtlichen Stylesheets. Wirklich übel wird es dann, wenn Elemente ohne Angabe einer Klasse oder ID mit !important ausgezeichnet werden.

Wir haben in unseren Stylesheets momentan solch einen Zustand. Da es sich um sehr viele und teilweise komplexe Selektoren handelt, reicht es leider nicht, die Verwendung einfach zu verbieten. Es muss ein Zustand erreicht werden, welcher die Verwendung von !important nicht mehr "provoziert".

Folgende Dinge halte ich dabei für angebracht:


  • Verwendung möglichst simpler Selektoren in Stylesheets, welche in mehreren Projekten in Form von Modulen verwendet werden (dies ermöglicht ein einfaches lokales Überschreiben)
  • Genaue Kenntnis der CSS-Kaskade
  • Kenntnis des Jasmin-Servlet-Algorithmus zur Festlegung der Stylesheet-Reihenfolge
  • Workshops zu den beiden letztgenannten Themen
  • Reporting der Verwendung von !important in Form einer Fehlermeldung


Es drängt sich natürlich sofort der Gedanke einer ähnlichen Behandlung des style-Attributs auf. Hier trifft jedoch Theorie auf die Praxis eines marketinggetriebenen Arbeitsumfelds. Das style-Attribut hat ebenfalls jede Menge Nachteile. Allerdings wirkt es sich immer nur auf ein spezielles Element aus und generiert dadurch nicht so unangenehme Seiteneffekte wie die !important-Regel.

Blog abonnieren

RSS 2.0 Feed

Suche

Kalender

Zurück Juli '09 Vorwärts
Mo Di Mi Do Fr Sa So
    1 4 5
6 7 8 9 10 11 12
13 15 16 18 19
20 22 23 24 25 26
28 30 31    

Verwaltung des Blogs

Blogroll

Projects/Web

vCard

  • Nico Steiner
  • www.nicosteiner.de
  • Karlsruhe/Germany
  • Senior Frontend-Developer at 1&1