!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.
Archive
- Juli 2010 (2)
- Juni 2010 (3)
- Mai 2010 (9)
- April 2010 (8)
- März 2010 (13)
- Februar 2010 (10)
- Januar 2010 (11)
- Dezember 2009 (8)
- November 2009 (6)
- Oktober 2009 (10)
- September 2009 (9)
- August 2009 (12)
- Juli 2009 (16)
- Juni 2009 (17)
- Mai 2009 (8)
- April 2009 (12)
- März 2009 (8)
- Februar 2009 (10)
- Januar 2009 (9)
- Dezember 2008 (2)
- November 2008 (8)
- Oktober 2008 (13)
- September 2008 (3)
- August 2008 (5)
- Juli 2008 (9)
- Juni 2008 (5)
- Mai 2008 (5)
- April 2008 (7)
- März 2008 (2)
- Januar 2008 (3)
- Das Neueste ...
- Älteres ...