Home/Geoff Graham
Author
GGGeoff Graham

Geoff Graham

206 articles by Geoff Graham.

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
Engineering — Quick Hit #30

Quick Hit #30

"Waits are a price that developers ask users to pay and loading spinners only buy so much time." —Alex Russell (permalink)

GGGeoff GrahamGeoff Graham·November 18, 2024Engineering
Frontend — Quick Hit #29

Quick Hit #29

I'm interviewing Alex Russell tomorrow for Smashing Magazine — it's free so come and join the chat as we discuss the expensive JavaScript, browser choice, app

GGGeoff GrahamGeoff Graham·November 18, 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
Engineering — Quick Hit #28

Quick Hit #28

I like how I'm hearing animations distinguished as "time-based animations" (or TBA) and "scroll-driven animations" (or SDA). A third? Maybe "navigation-based

GGGeoff GrahamGeoff Graham·November 8, 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
Engineering — Quick Hit #26

Quick Hit #26

Looks like text-wrap: pretty has landed in Safari TP! Been in Chrome since 117. Let's see if Firefox follows suit.

GGGeoff GrahamGeoff Graham·October 8, 2024Engineering
Frontend — Quick Hit #25

Quick Hit #25

Tab Atkins-Bittner left a comment in our recent notes on the CSS Masonry that thoroughly (and helpfully) counters the view that masonry would be more powerful

GGGeoff GrahamGeoff Graham·October 2, 2024Frontend
Engineering — Quick Hit #24

Quick Hit #24

Wired: "The combined weight of these legal cases threatens to crush the Internet Archive. The internet has entrusted its collective memory to this one

GGGeoff GrahamGeoff Graham·September 27, 2024Engineering
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
Frontend — Quick Hit #19

Quick Hit #19

Two possible syntaxes for CSS masonry, one draft specification, and you get to share your opinions.

GGGeoff GrahamGeoff Graham·September 19, 2024Frontend
Frontend — Multiple Anchors

Multiple Anchors

Only Chris, right? You'll want to view this in a Chromium browser:

GGGeoff GrahamGeoff Graham·September 16, 2024Frontend
Engineering — What’s Old is New

What’s Old is New

I collect a bunch of links in a bookmarks folder. These are things I fully intend to read, and I do — eventually. It's a good thing bookmarks are digital,

GGGeoff GrahamGeoff Graham·September 12, 2024Engineering
Design & UX — Sanding UI

Sanding UI

Jim hit a snag while working on a form. Placing labels next to inputs is trivial with flexbox, sure, but what happened in Jim's case was a bit of

GGGeoff GrahamGeoff Graham·September 10, 2024Design & UX
Engineering — Quick Hit #15

Quick Hit #15

Almost missed that the WP Twenty Twenty-Five theme was approved a couple weeks ago.

GGGeoff GrahamGeoff Graham·September 5, 2024Engineering
Design & UX — Quick Hit #14

Quick Hit #14

Inclusive Design 24 is in 8 short days — and it's FREE, no sign-up required!

GGGeoff GrahamGeoff Graham·September 3, 2024Design & UX
Engineering — Another Stab at Truncated Text

Another Stab at Truncated Text

Seems like we're always talking about clipping text around here. All it takes is a little browsing to spot a bunch of things we've already explored.

GGGeoff GrahamGeoff Graham·September 3, 2024Engineering
Frontend — The “Other” C in CSS

The “Other” C in CSS

I think it's worth listening to anything Sara Soueidan has to say. That's especially true if she's speaking at an event for the first time in four years,

GGGeoff GrahamGeoff Graham·August 28, 2024Frontend
Engineering — Introducing <skelly-wc>

Introducing <skelly-wc>

I created a little library at work to make those “skeleton screens” that I’m not sure anyone likes. We named it skellyCSS because… skeletons and

GGGeoff GrahamGeoff Graham·August 28, 2024Engineering
Frontend — Callbacks on Web Components?

Callbacks on Web Components?

A gem from Chris Ferdinandi that details how to use custom events to hook into Web Components. More importantly, Chris dutifully explains why custom events

GGGeoff GrahamGeoff Graham·August 22, 2024Frontend
Frontend — Quick Hit #11

Quick Hit #11

Hey look at that, the State of CSS Survey for 2024 is open and taking submissions.

GGGeoff GrahamGeoff Graham·August 21, 2024Frontend
Engineering — CSSWG Minutes Telecon (2024-08-14)

CSSWG Minutes Telecon (2024-08-14)

I was just going over the latest CSSWG minutes (you can subscribe to them at W3C.org) and came across a few interesting nuggets I wanted to jot down for

GGGeoff GrahamGeoff Graham·August 16, 2024Engineering
Engineering — Quick Hit #9

Quick Hit #9

Heydon with a reminder that <address> isn't for, you know, mailing addresses.

GGGeoff GrahamGeoff Graham·August 12, 2024Engineering
Frontend — CSS Functions and Mixins Module Notes

CSS Functions and Mixins Module Notes

Most days, I'm writing vanilla CSS. Thanks to CSS variables and nesting, I have fewer reasons to reach for Sass or any other preprocessor. The times I reach

GGGeoff GrahamGeoff Graham·July 31, 2024Frontend
Frontend — "If" CSS Gets Inline Conditionals

"If" CSS Gets Inline Conditionals

A few sirens went off a couple of weeks ago when the CSS Working Group (CSSWG) resolved to add an if() conditional to the CSS Values Module Level 5

GGGeoff GrahamGeoff Graham·July 9, 2024Frontend
Engineering — Transitioning to Auto Height

Transitioning to Auto Height

I know this is something Chris has wanted forever, so it's no surprise he's already got a fantastic write-up just a day after the news broke. In fact, I first

GGGeoff GrahamGeoff Graham·June 28, 2024Engineering
Engineering — Poppin' In

Poppin' In

Oh, hey there! It’s been a hot minute, hasn’t it? Thought I’d pop in and say hello while we get to know the Popover API a bit.

GGGeoff GrahamGeoff Graham·June 26, 2024Engineering
Frontend — Quick Hit #8

Quick Hit #8

CSS Meditation #8: .work + .life { border: 10px solid #000; }

GGGeoff GrahamGeoff Graham·June 24, 2024Frontend
Frontend — Quick Hit #6

Quick Hit #6

CSS Meditation #6: The color space is always calc(rgb(0 255 0)+er) on the other side of the fence.

GGGeoff GrahamGeoff Graham·June 24, 2024Frontend
Frontend — Quick Hit #4

Quick Hit #4

CSS Meditation #4: Select, style, adjust. Select, style, adjust. Select, sty…

GGGeoff GrahamGeoff Graham·June 24, 2024Frontend
Frontend — Quick Hit #2

Quick Hit #2

CSS Meditation #2: Who gives a flying frick what constitutes a “programming” language.

GGGeoff GrahamGeoff Graham·June 24, 2024Frontend
Frontend — Quick Hit #1

Quick Hit #1

CSS Meditation #1: If the code works as expected and it fits your mental model, then it’s perfect.

GGGeoff GrahamGeoff Graham·June 24, 2024Frontend
Frontend — CSS Length Units

CSS Length Units

A comprehensive guide covering nine types of lengths that CSS uses to size elements in terms of dimensions, space, time, and even sound.

GGGeoff GrahamGeoff Graham·June 3, 2024Frontend
Frontend — In Praise Of The Basics — Smashing Magazine

In Praise Of The Basics — Smashing Magazine

What does it mean to learn the “basics”, or fundamentals, of front-end web development? Is starting with HTML and CSS still the best entry point to learn how to make websites and apps when we have a seemingly endless supply of frameworks? Geoff Graham thinks so and discusses why you might consider going “back to basics” to start or move forward in your career.

GGGeoff GrahamGeoff Graham·May 30, 2024Frontend