Jens Oliver Meiert

Die Wahrheit über !important

Artikel vom 8. November 2016. ISSN 1614-3124, #51.

Wenn Sie sich speziell mit der Optimierung von CSS beschäftigen, ich habe einige Grundlagen in einem kleinen Buch zusammengetragen: CSS Optimization Basics.

Manchmal wache ich nachts auf, vor Schmerzen gekrümmt, Tränen in den Augen. Die heilige Allianz gegen !important verfolgt mich. Ich sehe ihre zahllosen Kreuzritter auf unschuldige Webentwickler zustürmen, mit unerbittlicher Härte, ihre Hörner blasend niemals niemals niemals !important zu verwenden, niemals überhaupt; !important, Hexen-Code. (So dramatisch beginnt die englische Version dieses Artikels.)

Ich wache aus einem Grund auf: Nonsens.

Nonsens, weil !important ein wichtiger (eben important) Teil der Kaskade ist. !important ist so wichtig, dass es sogar einen eigenen Abschnitt in der Spec hat (hier in der Übersetzung von <edition W3.de>):

CSS versucht, einen Leistungsausgleich zwischen Stylesheets des Autors und des Benutzers herzustellen. Standardmäßig überschreiben die Regeln im Stylesheet eines Autors diejenigen aus dem Stylesheet eines Benutzers […].

Des Ausgleichs halber erhält jedoch eine »!important«-Deklaration (die Schlüsselwörter »!« und »important« folgen der Deklaration) Priorität gegenüber einer normalen Deklaration. Sowohl Autor- als auch Benutzer-Stylesheets können »!important«-Deklarationen enthalten, und die »!important«-Regeln des Benutzers überschreiben die »!important«-Regeln des Autors. Dieses Funktionsmerkmal von CSS verbessert den Zugriff auf Dokumente, indem es Benutzern mit speziellen Anforderungen (große Schriften, Farbkombinationen usw.) die Kontrolle über die Darstellung erteilt.

!important, legitimer Bestandteil von CSS, ist ein Werkzeug. Es ist zuerst einmal ein kritisches Werkzeug für Nutzer, für die es garantiert, dass ihre Regeln angewandt werden (so sie denn welche vorgeben). Und es ist ein wichtiges Werkzeug für Autoren, uns Entwickler, nicht nur zum Testen (es ist keine Schande, zuzugeben, dass 99% hier !important bereits für Debugging-Zwecke verwendet haben), sondern auch dafür, manchmal gar unglaublich elegante Lösungen hervorzuzaubern.

!important zu ächten, wie es meine eigenen Augen schon zu oft gesehen haben, entspricht dogmatischer Übersimplifizierung. !important zu ächten bedeutet eben nicht, dass man versteht, was es macht und wozu es da ist, sondern es ähnelt unendlicher Bequemlichkeit.

Ich selbst werde die Feinheiten von !important nun nicht erläutern. Nicht hier. Mein geschätzter Harry, beispielsweise, leistet darin bereits gute Arbeit, und er dokumentiert einige der Probleme und was wir statt dessen tun können. Ich persönlich kaufe mir immer gerne Zeit damit, zu empfehlen, !important nicht zu freizügig und jedes Mal einzusetzen. Aber das eigentliche Anliegen dieses Beitrags ist es, festzuhalten, dass:

!important ist wichtig. !important ist legitim. Es ist nützlich. Es verschwindet nicht. Anstatt »kein !important« zu schreien, sollten wir uns vielmehr entspannen und es verantwortungsbewusst benutzen – und lehren zu benutzen.

Über den Autor

Jens Oliver Meiert, Foto vom 19. April 2019.

Jens Oliver Meiert ist ein technischer Leiter und Autor (sum.cumo, W3C, O’Reilly). Er experimentiert gerne, auch in den Bereichen Philosophie, Kunst und Abenteuer. Hier auf meiert.com teilt und verallgemeinert und übertreibt er einige seiner Gedanken und Erfahrungen.

Wenn Sie eine Frage oder ein Anliegen (oder eine Empfehlung) zu dem haben, was er schreibt, senden Sie gerne jederzeit eine Nachricht.

Ähnliche Themen

Das könnte Sie ebenfalls interessieren:

Schwerpunkt:

Auf dem Laufenden bleiben? Am einfachsten per Feed oder auf Twitter.

Fehler entdeckt? E-Mail an jens@meiert.org.

Sie sind hier: StartseitePublikationen → Die Wahrheit über !important

Stand: 8. November 2016

»Arbeit ist sichtbar gemachte Liebe