Our discipline (of net and frontend improvement) has been utilizing resets—which for simplicity right here contains “reboots” and “normalizers”—for about 20 years. I say “about” as a result of it appears Tantek Çelik had it began in 2004 (the place you discover yours really, too), however different authors might have used related methods even earlier.
Premises
CSS resets are based mostly on three premises:
- There are variations in how person brokers current net pages, that’s, their default types differ.
- These variations affect the given web site.
- The variations are necessary to be dealt with.
It must be apparent to say that if—or as soon as—all person brokers deal with CSS the identical approach, there’s no want for a CSS reset.
It must also be apparent that if the variations don’t apply, there’s no want for a CSS reset, both. For instance, type styling variations don’t matter on form-less web sites.
And—many arguments have unnecessarily damaged out over this—it additionally implies that if the variations aren’t thought of necessary sufficient, there’s additionally no want for a CSS reset.
I consider that what we’ve seen over the course of the final 20 years is that not all authors have paid consideration as to if styling variations throughout person brokers affected them, and whether or not the variations truly mattered.
However, there are different issues, too.
Actuality
For CSS reset customers, the fact is that they really feel a necessity to make use of a CSS reset. It’s doable (and likewise possible) that there are CSS reset customers who don’t really feel that approach, and both use a CSS reset as a result of they should or as a result of they really feel safer utilizing them. Virtually talking, nevertheless, utilizing a CSS reset is a part of their actuality, too.
What CSS reset customers miss is that there’s one other actuality, specifically that of builders and web site house owners who do not use CSS resets.
That is explicable by the premises outlined earlier, nevertheless it’s fascinating for 2 causes.
- That there are websites and apps on the market that don’t use and that work high-quality and not using a CSS reset is just about by no means being talked about within the context of CSS resets.
- After we take the intense positions of all the time and by no means needing a CSS reset, positions we observe in observe, then we find yourself with a contradiction. P & ¬P. *
Whereas the premises enable to reconcile the contradiction, the issue persists: In our discourse about CSS resets, nobody appears to concede that there are web sites that work with out resets—one thing that essentially challenges and contradicts the CSS “fundamentalist” notion that they have been all the time wanted. That’s merely neither true, nor useful.
Is that this all, nevertheless? No:
Comfort
CSS resets have develop into a type of commodity. There are numerous of them (a search reveals extra selection than the very best assortment I may discover), and so they’re being baked into some HTML/CSS and even JS frameworks.
This makes it straightforward for builders to overlook concerning the premises, and to imagine a common want for CSS resets.
What we may observe way back, accordingly, is that individuals stopped questioning their use of resets, even when they could not have an impact. †
Penalties
Much like the consequences of delivery invalid and fantasy HTML, all of that is nibbling on the craft of frontend improvement.
What are our choices?
First, we have to be clear concerning the premises behind CSS resets, and embrace the premises in our discussions. This may enable for each much less warmth within the discourse but additionally higher choices.
Second, we have to do actuality checks. There are many websites and apps on the market that don’t use a CSS reset, and that work fully high-quality in all person brokers. That’s a part of our actuality, and given the efficiency and upkeep footprint of some CSS resets, it’s a actuality price listening to.
Third, we have to problem one another and, perhaps extra importantly, ourselves. Looking for comfort appears pure, and but it’s necessary to be clear concerning the penalties—comfort simply results in complacency, dogma, and, finally, ignorance. It’s helpful to make our developer lives just a little tough.
After we do all of this, we should always get the place we may have gotten 20 years in the past—to a spot the place we make very selective use of tailor-made resets, most certainly solely in environments of both excessive technical complexity, or nice variety in developer seniority. However that’s hypothesis, a few current we don’t have.
The title deliberately left incomplete.
Many because of Miriam Suzanne and Jad Joubran for reviewing this submit.