2020-07-31
1044
#css
Ogundipe Samuel
22732
Jul 31, 2020 ⋅ 3 min read

A guide to theming in CSS

Ogundipe Samuel Software engineer and technical writer.

Recent posts:

CSS @container scroll-state: Replace JS scroll listeners now

CSS @container scroll-state lets you build sticky headers, snapping carousels, and scroll indicators without JavaScript. Here’s how to replace scroll listeners with clean, declarative state queries.

Jude Miracle
Feb 19, 2026 ⋅ 4 min read
Anti-libraryism 10 web APIs that replace modern JavaScript libraries

Anti-libraryism: 10 web APIs that replace modern JavaScript libraries

Explore 10 Web APIs that replace common JavaScript libraries and reduce npm dependencies, bundle size, and performance overhead.

Chizaram Ken
Feb 19, 2026 ⋅ 15 min read
podrocket 2-18

How developer platforms fail (and how yours won’t)

Russ Miles, a software development expert and educator, joins the show to unpack why “developer productivity” platforms so often disappoint.

Elizabeth Becz
Feb 18, 2026 ⋅ 52 sec read
the replay february 18

The Replay (2/18/26): Copilot workarounds, platform pitfalls, and more

Discover what’s new in The Replay, LogRocket’s newsletter for dev and engineering leaders, in the February 18th issue.

Matt MacCormack
Feb 18, 2026 ⋅ 36 sec read
View all posts

5 Replies to "A guide to theming in CSS"

  1. Thanks a lot for this amazing article. Before this article theming concept was just a nightmare for me. But Man u nailed it.

  2. Thanks for the great article! A couple confusing parts:
    – You write “ N/B: When declaring CSS variables, the syntax is **–**”… I would remove the asterisks as it’s unclear for beginners if asterisks are actually part of the syntax of your custom way of highlighting the double dash
    – “ perfect for creating theme0aware websites” the 0 should be a hyphen

  3. Thank you for this very informative post! I have to admit, however, that I spent quite a few moments trying to decipher your code for the white text/black text example. It was confusing because the ‘white text’ is actually black and visa-versa. I had my eyes crossing before I realized that. Perhaps you should change the white text to say “Black Text” (since it is) or simply take away the ‘Text’ part of the string. But great content!

Leave a Reply

Would you be interested in joining LogRocket's developer community?

Join LogRocket’s Content Advisory Board. You’ll help inform the type of content we create and get access to exclusive meetups, social accreditation, and swag.

Sign up now