On Web Development II
/
On Cascading Style Sheets (CSS)
On Cascading Style Sheets (CSS)
https://leanpub.com/on-web-development-2
37 Theses on CSS and Web Development
https://leanpub.com/on-web-development-2
CSS: The Pain Is Real
https://leanpub.com/on-web-development-2
The Two Extremes of Writing CSS, and What We Can Learn From Them
https://leanpub.com/on-web-development-2
CSS: “:has()” and the Lost Paradigm
https://leanpub.com/on-web-development-2
The Lost Paradigm
https://leanpub.com/on-web-development-2
The CSS Art Paradox
https://leanpub.com/on-web-development-2
70% Repetition in Style Sheets: Data on How We Fail at CSS Optimization
https://leanpub.com/on-web-development-2
Some Theory
https://leanpub.com/on-web-development-2
Some Numbers
https://leanpub.com/on-web-development-2
Some Conclusion
https://leanpub.com/on-web-development-2
Appendix
https://leanpub.com/on-web-development-2
Example
https://leanpub.com/on-web-development-2
FAQ
https://leanpub.com/on-web-development-2
Does this scale for larger sites, especially when styles are split across multiple files?
https://leanpub.com/on-web-development-2
What about mixins or other techniques which prefer repetition of declarations?
https://leanpub.com/on-web-development-2
Does it still make sense from a maintenance perspective to avoid repetition when declarations are only coincidentally the same?
https://leanpub.com/on-web-development-2
How does e.g. moving a width declaration away from the height declaration affect maintainability and readability?
https://leanpub.com/on-web-development-2
What about repetition because of vendor-specific extensions?
https://leanpub.com/on-web-development-2
Why is Atomic CSS (or
x
) not being mentioned?
https://leanpub.com/on-web-development-2
DRY CSS: How to Use Declarations Just Once, Effectively
https://leanpub.com/on-web-development-2
General Steps
https://leanpub.com/on-web-development-2
Special Cases
https://leanpub.com/on-web-development-2
Examples
https://leanpub.com/on-web-development-2
Optimizing I
https://leanpub.com/on-web-development-2
Optimizing II
https://leanpub.com/on-web-development-2
Editing
https://leanpub.com/on-web-development-2
Tips
https://leanpub.com/on-web-development-2
Tool Needs
https://leanpub.com/on-web-development-2
How Declaration Repetition Developed Over Time, a Statistically Insignificant Sample
https://leanpub.com/on-web-development-2
Performance of CSS Selectors Is Still Irrelevant
https://leanpub.com/on-web-development-2
CSS: The Reason Why Selectors Should Be Ordered, Too
https://leanpub.com/on-web-development-2
Stop Using the Old “Clearfix”
https://leanpub.com/on-web-development-2
Stop Using Resets: Visual Examples of the Practical Nonsense of Resets and Normalizers
https://leanpub.com/on-web-development-2
5 Reasons Against Resets, Normalizers, Reboots
https://leanpub.com/on-web-development-2
The CSS Reset Contradiction
https://leanpub.com/on-web-development-2
Premises
https://leanpub.com/on-web-development-2
Reality
https://leanpub.com/on-web-development-2
Convenience
https://leanpub.com/on-web-development-2
Consequences
https://leanpub.com/on-web-development-2
The Anti-Reset (to Reset to User Agent Styles)
https://leanpub.com/on-web-development-2
Print Styling, the 3 Basics
https://leanpub.com/on-web-development-2
1. Have a Print Style Sheet, and Be It a Negative One
https://leanpub.com/on-web-development-2
2. Hide What’s Not Usable or Useful—and Be Subtle Otherwise
https://leanpub.com/on-web-development-2
3. Test and Tweak
https://leanpub.com/on-web-development-2
Minimal Dark Mode
https://leanpub.com/on-web-development-2
Update (March 24, 2025)
https://leanpub.com/on-web-development-2
CSS: When to Use Logical Properties
https://leanpub.com/on-web-development-2
Should We Never Use Non-Logical Properties?
https://leanpub.com/on-web-development-2
Update (August 14, 2025)
https://leanpub.com/on-web-development-2
Custom Properties: Questioning “:root”
https://leanpub.com/on-web-development-2
CSS Shorthand Syntax Considered Important
https://leanpub.com/on-web-development-2
CSS Naked Day and the Missing Wikipedia Page
https://leanpub.com/on-web-development-2
Implementation
https://leanpub.com/on-web-development-2
History
https://leanpub.com/on-web-development-2
Reception
https://leanpub.com/on-web-development-2
Comments About This Draft
https://leanpub.com/on-web-development-2
My CSS Wishlist
https://leanpub.com/on-web-development-2
Thoughts on CSS in 2024
https://leanpub.com/on-web-development-2
What I Appreciate
https://leanpub.com/on-web-development-2
Favorites
https://leanpub.com/on-web-development-2
What I Don’t Need
https://leanpub.com/on-web-development-2
Why I Don’t Use CSS Preprocessors
https://leanpub.com/on-web-development-2
The Craft of CSS
https://leanpub.com/on-web-development-2
Previous
On the Hypertext Markup Language (HTML)
Up next
On Frameworks
In this chapter
On Cascading Style Sheets (CSS)