CSS Reset vs. Normalize

Die Tage ging ein Aufschrei durch Twitter: die HTML5-Boilerplate hat den CSS-Reset raus geworfen, und durch ein Normalize ersetzt. Ich war relativ erstaunt wegen des Hypes, zum einen kann ich das durch einen eigenen Fork bei Github ziemlich schnell wieder rückgängig machen, zweitens heißt es ja nicht, dass durch Benutzung von CSS-Resets in den letzten 30 Jahren diese der Weisheit letzter Schluss sind!

Wieso regt sich jeder auf? Den Reset durch ein Normalize zu ersetzen ist wohl revolutionär zu nennen und eine vollkommene Prinzipienänderung. Ein CSS-Reset wirft auf allen Browser jedwede Styling-Information in den Mülleimer. Wenn ich einen CSS-Reset nutze, muss ich mich auch damit abfinden das ich in einem CSS zumeist Dinge definieren muss (zum Beispiel <strong>) die eigentlich klar sind.

Was macht nun Normalize? Normalize geht einen anderen Weg: anstatt alles weg zuwerfen wird versucht, die folgenden Prämissen zu erfüllen:

  • Sinnvolle Vorgaben sollen erhalten bleiben
  • Alle HTML-Elemente werden in ihrem Aussehen angeglichen
  • Es wird versucht Bugs und Browser-Inkompatibilitäten auszumerzen
  • Die Anwendbarkeit von CSS auf einige störrische Elemente wird verbessert

Anstatt alles weg zu werfen wird versucht, es auf allen Browsern einigermaßen gleich aussehen zu lassen, wobei einige Defaults erhalten bleiben (bold, italic, etc.). Beide Methoden haben ihre Vor- und Nachteile, bzw. ihre Vorzüge, aber ich kann durchaus nachvollziehen wieso die HTML5-Boilerplate ab sofort den Weg über die Normalize.css geht.

Ein Normalize verringert den Einstiegsaufwand um ein eigenes Stylesheet zu erstellen, stellt für den Webworker allerdings auch einen Paradigmenwechsel dar, da er auf etwas vorhandenem anstatt auf nichts aufbaut! Die Diskussion was besser ist, ist ähnlich der Apple/Microsoft Diskussion – da muss jeder seinen eigenen Weg finden.

Fakt ist aber, das Normalisierung kein Teufelswerk ist, und ein CSS Reset nicht das Nonplusultra. Anstatt diese Techniken zu verteufeln schaut sie euch lieber erst einmal an – was ihr dann einsetzt ist ein anderes Problem, es gibt mit Sicherheit Gründe das eine oder das andere zu verwenden. Falls die HTML5-Boilerplate jedoch eine weitere Verbreitung finden wird, wovon ich ausgehe, gilt es, sich auch mit der Normalize.css anzufreunden!

4 Antworten auf „CSS Reset vs. Normalize“

  1. Sagen wir mal so: der Normalize macht weniger kaputt ;) Eigentlich bräuchte man zum Reset ein Anti-Reset, um zumindest nicht jedes neue HTML-Element neu definieren zu müssen. Und der Normalize ist eine Mischung aus beidem.

  2. Hm weiß nicht was ich von den ganzen resets und HTML5-Boilerplate und wie Sie alle heißen halten soll. Irgendwie wird das Gefühl vermittelt das es ohne fast nicht mehr geht. Ich setze solche Sachen gar nicht ein. Irgendwie fühl ich mich immer gezwungen zu irgendwas mit solchen Sachen.

    Aber ehrlich gesagt klingt das Normalize gar nicht so schlecht. Nutzen würde ich wohl auch das nicht aber es klingt logisch.

    HTML5-Boilerplate z.B. ist mir schon fast zu krass. Ich bin eher ein Designer als ein Entwickler und würde sagen das ich HTML / CSS dennoch ganz gut drauf habe. Aber diese Boilerplate ist mir zu krass :)

  3. Ich fand den Reset nie sympathisch und seit dem ich durch die Workshops auch Kontakt zu CSS-Anfängern oder Leuten, die sich mit CSS 1-2 Jahre nicht beschäftigt haben, sehe ich das CSS-Reset eine häufige Quelle für Fehler sind.

    Die Leute setzen CSS-Reset ein und wundern sich dann, dass meine CSS-Beispiele bei denen nicht oder anders funktionieren.

    Daher ist mir die Idee mit der normalize.css sympathischer.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.