Home/Geoff Graham
Author
GGGeoff Graham

Geoff Graham

170 articles by Geoff Graham.

Frontend — MicroLighter: Syntax Highlighter

MicroLighter: Syntax Highlighter

Syntax highlighting for code blocks without the complicated markup, spans, classes, and bloated JavaScript, courtesy of Uncle Dave. MicroLighter: Syntax Highlighter originally handwritten and published with love on CSS-Tricks . You should really get the newsletter as well.

GGGeoff GrahamGeoff Graham·August 25, 2026Frontend
Frontend — Resolved: CSS Class Prefix Selector

Resolved: CSS Class Prefix Selector

A newly resolved proposal would allow us to select classes that are a prefix for variations with a wildcard, like .prefix-* . Resolved: CSS Class Prefix Selector originally handwritten and published with love on CSS-Tricks . You should really get the newsletter as well.

GGGeoff GrahamGeoff Graham·August 21, 2026Frontend
Frontend — CSS Navigation Matching, Early Days

CSS Navigation Matching, Early Days

Apply a style when someone navigates from one specific page to another. The idea being it'd make the sources for cross-document view transitions declarative in CSS rather than managing that stuff in JavaScript. CSS Navigation Matching, Early Days originally handwritten and published with love on CSS-Tricks . You should really get the newsletter as well.

GGGeoff GrahamGeoff Graham·August 19, 2026Frontend
Frontend — WordPress.com Student Plan

WordPress.com Student Plan

As someone who teaches beginning web development, I find that building a WordPress site makes for a great final project. Hosting those projects has always been a roadblock though. WordPress.com Student Plan originally handwritten and published with love on CSS-Tricks . You should really get the newsletter as well.

GGGeoff GrahamGeoff Graham·August 19, 2026Frontend
Frontend — Dark mode toggles: two states are enough

Dark mode toggles: two states are enough

Lea's pushing back on light/dark mode implementations that display three state options for visitors: light, dark, and system. Dark mode toggles: two states are enough originally handwritten and published with love on CSS-Tricks . You should really get the newsletter as well.

GGGeoff GrahamGeoff Graham·August 17, 2026Frontend
Frontend — SmashingConf Freiburg 2026, September 7-10

SmashingConf Freiburg 2026, September 7-10

Smashing Magazine’s in-person conferences are back and returning to the wonderful city of Freiburg next month, September 7–10. SmashingConf Freiburg 2026, September 7-10 originally handwritten and published with love on CSS-Tricks . You should really get the newsletter as well.

GGGeoff GrahamGeoff Graham·August 10, 2026Frontend
Frontend — Using and Styling the Dialog Element

Using and Styling the Dialog Element

There's a lot of nuance to the <dialog> element, a seemingly little piece of web architecture. I've got some notes from digging into it. Using and Styling the Dialog Element originally handwritten and published with love on CSS-Tricks . You should really get the newsletter as well.

GGGeoff GrahamGeoff Graham·August 7, 2026Frontend
Frontend — Prop For That

Prop For That

Props for That creates live props based things CSS can't normally see in the browser. Things like cursor position, progress values, certain form states, current time, scroll velocity.

GGGeoff GrahamGeoff Graham·June 16, 2026Frontend
Design & UX — Generative UI Notes

Generative UI Notes

Looking at research and experiments that are designed to automatically generate user interfaces based on user preferences.

GGGeoff GrahamGeoff Graham·March 26, 2026Design & UX
Frontend — ReliCSS

ReliCSS

Stu Robson's ReliCSS (clever name!) tool can excavate outdated CSS in your codebase that have modern CSS solutions.

GGGeoff GrahamGeoff Graham·January 28, 2026Frontend
Engineering — Open Props @custom-media Recipes

Open Props @custom-media Recipes

The @custom-media at-rule has landed in Firefox Nightly! I couldn't find it in the release notes but Adam Argyle's on the beat noting that it's behind a flag

GGGeoff GrahamGeoff Graham·January 23, 2026Engineering
Networking — HTTP Archive 2025 Web Almanac

HTTP Archive 2025 Web Almanac

I love me some good web research reports. I'm a sucker for them. HTTP Archive's Web Almanac is one report I look forward to every year, and I know I'm not

GGGeoff GrahamGeoff Graham·January 16, 2026Networking
Frontend — "I Heart CSS" DailyDev Squad

"I Heart CSS" DailyDev Squad

If you're reading this, chances are you already have some sort of way that you're following when we publish new content, whether that's RSS, Bluesky,

GGGeoff GrahamGeoff Graham·January 16, 2026Frontend
Frontend — Thank You (2025 Edition)

Thank You (2025 Edition)

This is the best job I've had in my life and it's only possible because you keep showing up each day to read, learn, share, and discuss all-things-front-end (and a little CSS, of course) with us.

GGGeoff GrahamGeoff Graham·December 23, 2025Frontend
Engineering — Toon Title Text Generator

Toon Title Text Generator

Andy Clarke with a brand-new resource. It generates the sort of fun typography that Andy commonly uses in his own work that's geared towards cartoon headings.

GGGeoff GrahamGeoff Graham·December 15, 2025Engineering
Frontend — What're Your Top 4 CSS Properties?

What're Your Top 4 CSS Properties?

Everyone has a different opinion which is great because it demonstrates the messy, non-linear craft that is thinking like a front-end developer.

GGGeoff GrahamGeoff Graham·September 10, 2025Frontend
Frontend — CSS-Questions

CSS-Questions

CSS-Questions is a mini site where you can test your CSS knowledge with over 100 questions.

GGGeoff GrahamGeoff Graham·August 12, 2025Frontend
Design & UX — Stuff & Nonsense Practical Layout Workshop

Stuff & Nonsense Practical Layout Workshop

Web design veteran Andy Clarke is offering a two-hour workshop all about creating practical and creative page layouts this September 18. Register and save a few bucks with a coupon code.

GGGeoff GrahamGeoff Graham·August 11, 2025Design & UX
Engineering — The Layout Maestro Course

The Layout Maestro Course

Layout. It's one of those easy-to-learn, difficult-to-master things, like they say about playing bass. Not because it's innately difficult to, say, place two

GGGeoff GrahamGeoff Graham·July 11, 2025Engineering
Frontend — KelpUI

KelpUI

KelpUI is new library that Chris Ferdinandi is developing, designed to leverage newer CSS features and Web Components. I've enjoyed following Chris as he's published an ongoing series of articles detailing his thought process behind the library, getting deep into his approach. You really get a clear picture of his strategy and I love it.

GGGeoff GrahamGeoff Graham·June 26, 2025Frontend
Design & UX — You can style alt text like any other text

You can style alt text like any other text

Clever, clever that Andy Bell. He shares a technique for displaying image alt text when the image fails to load. Well, more precisely, it's a technique to apply styles to the alt when the image doesn't load, offering a nice UI fallback for what would otherwise be a busted-looking error.

GGGeoff GrahamGeoff Graham·May 22, 2025Design & UX
Frontend — Scroll-Driven Animations Inside a CSS Carousel

Scroll-Driven Animations Inside a CSS Carousel

Hey, isn't there a fairly new CSS feature that works with scroll regions? Oh yes, that's Scroll-Driven Animations. Shouldn't that mean we can trigger an animation while scrolling through the items in a CSS carousel?

GGGeoff GrahamGeoff Graham·May 15, 2025Frontend
Frontend — CSS shape() Commands

CSS shape() Commands

The CSS shape() function recently gained support in both Chromium and WebKit browsers. It's a way of drawing complex shapes when clipping elements with the clip-path property.

GGGeoff GrahamGeoff Graham·May 2, 2025Frontend
Design & UX — Open Up With Brad Frost, Episode 2

Open Up With Brad Frost, Episode 2

Brad Frost is running this new little podcast called Open Up. Folks write in with questions about the "other" side of web design and front-end development —

GGGeoff GrahamGeoff Graham·April 29, 2025Design & UX
Frontend — CSS-Tricks Chronicles XLIII

CSS-Tricks Chronicles XLIII

This CSS-Tricks update highlights significant progress in the Almanac, recent podcast appearances, a new CSS counters guide, and the addition of several new authors contributing valuable content.

GGGeoff GrahamGeoff Graham·April 11, 2025Frontend
Frontend — CSS Carousels

CSS Carousels

Chrome has prototyped these features and released them in Chrome 135. Adam Argyle has a wonderful explainer over at the Chrome Developer blog. Kevin Powell has an equally wonderful video where he follows the explainer. This post is me taking notes from them.

GGGeoff GrahamGeoff Graham·April 9, 2025Frontend
Frontend — SMIL on?

SMIL on?

Well, it turns out that SVG's built-in animation features were never deprecated as planned. Sure, CSS and JavaScript are more than capable of carrying the load, but it's good to know that SMIL is not dead in the water as previously thought, and is actually well-supported.

GGGeoff GrahamGeoff Graham·April 2, 2025Frontend
Engineering — Web Components Demystified

Web Components Demystified

Scott Jehl released a course called Web Components Demystified. This is my full set of notes from Scott's course. You'll still want to take the course on your own, and I encourage you to because Scott is an excellent teacher who makes all of this stuff extremely accessible, even to noobs like me.

GGGeoff GrahamGeoff Graham·March 14, 2025Engineering
Design & UX — Smashing Meets Accessibility

Smashing Meets Accessibility

The videos from Smashing Magazine's recent event on accessibility were just posted the other day. I was invited to host the panel discussion with the speakers, including a couple of personal heroes of mine, Stéphanie Walter and Sarah Fossheim. But I was just as stoked to meet Kardo Ayoub who shared his deeply personal story as a designer with a major visual impairment.

GGGeoff GrahamGeoff Graham·March 10, 2025Design & UX
Frontend — Scroll Driven Animations Notebook

Scroll Driven Animations Notebook

Adam's such a mad scientist with CSS. He's been putting together a series of "notebooks" that make it easy for him to demo code. He's got one for gradient

GGGeoff GrahamGeoff Graham·February 13, 2025Frontend
Engineering — Make Any File a Template Using This Hidden macOS Tool

Make Any File a Template Using This Hidden macOS Tool

Stationery Pad is a handy way to nix a step in your workflow if you regularly use document templates on your Mac. The long-standing Finder feature essentially tells a file’s parent application to open a copy of it by default, ensuring that the original file remains unedited.

GGGeoff GrahamGeoff Graham·February 10, 2025Engineering
Career & Teams — Chrome 133 Goodies

Chrome 133 Goodies

Did you see the release notes for Chrome 133? It's currently in beta, but the Chrome team has been publishing a slew of new articles with pretty incredible demos that are tough to ignore. I figured I'd round those up in one place.

GGGeoff GrahamGeoff Graham·January 31, 2025Career & Teams
Performance — Tight Mode: Why Browsers Produce Different Performance Results — Smashing Magazine

Tight Mode: Why Browsers Produce Different Performance Results — Smashing Magazine

We know that browsers do all sorts of different things under the hood. One of those things is the way they not only *fetch* resources like images and scripts from the server but how they [prioritize those resources](https://www.debugbear.com/blog/request-priorities?utm_campaign=sm-7). Chrome and Safari have implemented a “Tight Mode” that constrains which resources are loaded and in what order, bu

GGGeoff GrahamGeoff Graham·January 9, 2025Performance
Design & UX — Smashing Meets Product Design

Smashing Meets Product Design

I had the pleasure of hosting a recent Smashing Magazine workshop on product design, subbing for Vitaly Friedman who usually runs these things.

GGGeoff GrahamGeoff Graham·December 10, 2024Design & UX
Frontend — Complete CSS Course

Complete CSS Course

Do you subscribe to Piccalilli? You should. If you're reading that name for the first time, that would be none other than Andy Bell running the ship and he's reimagined the site from the ground-up after coming out of hibernation this year. You're likely familiar with Andy's great writing here on CSS-Tricks.

GGGeoff GrahamGeoff Graham·November 19, 2024Frontend
Frontend — Anchoreum: A New Game for Learning Anchor Positioning

Anchoreum: A New Game for Learning Anchor Positioning

You've played Flexbox Froggy before, right? Or maybe Grid Garden? They're both absolute musts for learning the basics of modern CSS layout using Flexbox and CSS Grid. Thomas Park made those and he's back with another game: Anchoreum.

GGGeoff GrahamGeoff Graham·November 12, 2024Frontend
Engineering — Tim Brown: Flexible Typesetting is now yours, for free

Tim Brown: Flexible Typesetting is now yours, for free

Another title from A Book Apart has been re-released for free. The latest? Tim Brown's Flexible Typesetting. I may not be the utmost expert on typography and its best practices but I do remember reading this book (it's still on the shelf next to me!) thinking maybe, just maybe, I might be able to hold a conversation about it with Robin when I finished it.

GGGeoff GrahamGeoff Graham·November 11, 2024Engineering
Frontend — State of CSS 2024 Results

State of CSS 2024 Results

The results from this year's survey are fairly fresh off the presses. We took a little time to sit with them and jot down some things we noticed and found interesting.

GGGeoff GrahamGeoff Graham·October 30, 2024Frontend
Frontend — You can use text-wrap: balance; on icons

You can use text-wrap: balance; on icons

The CSS text-wrap property is (rightfully) widely assumed to be used strictly for text elements. But Terrence Eden posted an article on his blog that shows how it can also be used to balance the way other types of elements wrap, including icons.

GGGeoff GrahamGeoff Graham·October 24, 2024Frontend
Distributed — Aggregating my distributed self

Aggregating my distributed self

Miriam Suzanne's in the middle of a redesign of her personal website. It began in August 2022. She's made an entire series out of the work that's worth your

GGGeoff GrahamGeoff Graham·September 27, 2024Distributed
Frontend — Quick Hit #21

Quick Hit #21

Seeing a lot more headlines decrying JavaScript and pumping up PHP. Always interesting to see which direction the front-end zeitgeist is leaning.

GGGeoff GrahamGeoff Graham·September 20, 2024Frontend