5 Reasons Against Resets, Normalizers, Reboots

Published on October 19, 2017 (↻ December 5, 2021), filed under (RSS feed for all categories).

The Bootstrap framework is working on a new reset or normalizer, Reboot.

Reset or normalizer because it makes no difference: Everything is supposed to look somewhat the same before any branded styling is applied, that’s the idea.

The problem? Resets and normalizers (and reboots) aren’t needed at all.

They never were.

Reason 1: We test. We notice all relevant styling differences between user agents during testing *.

Reason 2: We’re professionals. We can fix the relevant styling differences.

Reason 3: We know that no one uses resets and normalizers correctly—by removing those declarations and rules that aren’t needed. (Quality means tailoring.)

Reason 4: We don’t need the detour. User agent styling, reset, styling? No: user agent styling, styling.

Reason 5: We know that resets and normalizers are unnecessary because we know that in many cases there’s no decisive difference even when the reset or normalizer is removed.

Maybe there’s also a reason in that there were working websites before there were resets, or that there have always been successful style sheets and frameworks that did without resets.

And then there’s the reason that one could, instead of a reset, just link any random style sheet on the Web and then overwrite that one instead.

Resets and normalizers (and reboots) weren’t and aren’t needed at all.

Why I, who has not been innocent, am still writing about this case, I don’t know. By now I consider it a little quirk or hobby, a hobby to collect the different perspectives at resets and to help understand that the practice is… smoke and mirrors.

* Note the wording: all relevant differences, not all differences. Contrary to the anxiety this may cause, undiscovered pixel differences are not a big deal.

Was this useful or interesting? Share (toot) this post, or support my work by buying one of my books (they’re affordable, and many receive updates). Thanks!

About Me

Jens Oliver Meiert, on September 30, 2021.

I’m Jens (long: Jens Oliver Meiert), and I’m a frontend engineering leader and tech author/publisher. I’ve worked as a technical lead for companies like Google and as an engineering manager for companies like Miro, I’m somewhat close to W3C and WHATWG, and I write and review books for O’Reilly and Frontend Dogma.

I love trying things, not only in web development (and engineering management), but also in other areas like philosophy. Here on meiert.com I share some of my views and experiences.

If you’d like to do me a favor, interpret charitably (I speak three languages, and they do collide), yet be critical and give feedback, so that I can make improvements. Thank you!

Comments (Closed)

  1. On October 20, 2017, 14:00 CEST, Laszlo K. said:

    Your reasons are unfounded and subjective. Let see:
    1. tested? ok. where? it’s not a demonstartion, if you say so…
    2. yeah right, styling every point if there are glitches… think again
    3. its a little tough to say “no one”
    4. nobody uses ua styling and reset in the same time (except if rookie or lame)
    5. “in many cases” ok. and the other cases?
    This is not a very strong argument.

  2. On October 24, 2017, 2:09 CEST, unleash.it said:

    I’m not sure how long you’ve been using CSS, but there was a time a CSS reset (including a hardcore one like the Eric Meyer) were arguably a “huge” time saver. Back then, browser differences were much greater than they are now… to the point where entire layouts would be upended depending on browser (because of float drop, etc.). Sure you could correct/normalize later as you suggest, but after struggling with that for years and then after plugging in reset.css, there was no looking back for a lot of people.

    Nowadays, I don’t think there’s a right or wrong about whether to use a reset. That said, the title seems somewhat clickbaity and arguments are unconvincing. While I don’t much like having a blackbox file to have to later override if I’m not happy with the settings (more clutter in dev tools), I’m usually happy with most of the choices that normalize and esp. bootstrap’s new reset provide. They save me time in having to maintain a constantly evolving baseline of typically desirable browser hacks, therefore I will use.

    I like that there are choices. I think Normalize.css is for those who want the most unopinionated reset. Reboot for those like me who like prefer only bottom margins on elements and don’t mind a few extras. Or no reset at all if you’re like the author and either not picky about design consistency, or you have the time and enjoy fixing more cross browser quirks than you have to.

  3. On October 24, 2017, 23:28 CEST, Aaron said:

    @ Laszlo did you read what you wrote?

    I use no resets. My web sites work without them.