Behold
Photo of Chris Coyier. Red CodePen hat on, looking up and to the right.
He/Him. Cool with They. More Photos
Howdy!

I’m a web designer and developer and my career arc is about helping you get better at those things. Sometimes people talk to me about that.

With Alex Vazquez, I’m the co-founder of CodePen, a social front-end web development environment. With Dave Rupert, I’m the co-host of a podcast called ShopTalk.

I built CSS-Tricks, a website all about building websites, and ran it for 15 years, from 2007 to 2022.

I’m big on the power of writing as a way to think better and improve yourself.

Speaking
I give presentations at events occasionally, typically about (you guessed it), building websites. I keep a list of upcoming and past events and more information, which is useful for both of us, really.

Thoughtful

Here’s another compelling reason to blog. I’ve seen the artificial urgency of tweets & toots bleed over into emotional essays on public mailing lists. New participants join a list and immediately make entitled demands. Fearful bordering on paranoid assumptions are used to state assertions of “facts” without citations. Arguments are made that appeal to emotion (argumentum ad […]

When not to use a subdomain

I’m a fan of the general advice of use subdomains, particularly for all those little projects we all cook up and want to put somewhere with a domain name we own and control. Subdomains instead of top-level domains, because: But are there reasons you shouldn’t use one? Of course. Here are a few:

What is “modern”?

Geoff wonders about “modern” CSS: …  but there’s got to be some way to refer to this specific moment in time where CSS has exploded with the richest set of features we’ve seen since… since… since… CSS3. I love that CSS specs are no longer versioned like that but we’re definitely starting to see a […]

Portland Trip

We took a trip to Portland this past long weekend to hang with the inlaws. Portland is a complicated place and I’d hesitate to get into all that, but we had an awfully good time visiting. We stayed in the Nob Hill area, which is maybe the fanciest and least-weird of the areas? I didn’t […]

0 KB Social Media Embeds

I just saw Stefan Bohacek made a WordPress plugin for Mastodon embeds. As Dave noted, the <iframe> for a Mastodon embed is very big, the resources aren’t cached across instances. With Stefan’s plugin, it brings the size way down, and I notice it’s not using an <iframe> at all which will help. A question to […]

Answers to Common (Web) Design Questions

(In honor of Dan’s zero-nuance takes.) What font-family should I use? Should I use a grid system? Set up grids anywhere you need them with CSS grid. It’s quick to learn and handles the vast majority of layout concerns. Do I need a design system? If you’re making components and using them, that’s your design […]

Exit Animations

How do you animate an element as it leaves the DOM? You can’t, is the historical answer. As soon as an element is removed from the DOM, it immediately disappears, there is no animation opportunity. The trick is to animate it as if it is leaving, wait for the animation is finished, then actually remove […]

Attribute Superpowers Taken All The Way

I mentioned one of my votes for Interop 2024 (there aren’t really votes, just like, my favorites) is for attr() extended capabilities. The point is snagging the value of an HTML attribute in CSS, along with the type, so it can actually be used. If you could do that (reliably), you could do something like […]

Antarctic Accent

Scientists witnessed the first stages of a common accent developing in Antarctica among its ever-changing population of scientists who spend months together at research stations on the isolated continent.  Scientists Witnessed The Birth Of A New Accent In Antarctica What does it sound like? Apparently it’s only barely measurable, but: One of the main shifts […]

Jazz

Oh man, good for me. Look at me! I am listening to jazz. Here I am, just taking in the moment. Fully present. Just me and the music. Yup yup yup yup yup. Completely immersed. Thinking about nothing else. The rhythm. The musicality. The syncopation. Is that the right word? “Syncopation”? That’s a jazz thing? […]

More OKLCH Musings

I was reading Robin’s Design systems, color spaces, and CSS where he was coming to the understanding that one of the reasons that the OKLCH color model (the oklch() function in CSS) is awesome is because of the “predictable lightness values” and quotes from the Evil Martians post that made the point very strongly. “Uniform […]

Style Scoped

The idea of scoping styles has been desired for a long time. The idea is to write CSS without worrying it will apply to more than you want it to. You can solve this in a number of ways. A way to do it without changing any core technology is to use naming. If you […]

A Couple of New CSS Functions I’d Never Heard Of

light-dark() Saw Bramus post about this. Apparently, this is just a first step on the way toward a more robust schemed-value() function that can handle more than just those two themes and more than just colors. Still useful! Without light-dark(), we need to use media queries and it’s more laborious: Browser support as I write: […]

A Good, Paywalled Article

The story The Town With a Song in Its Heart in the New York Times (warning: probably paywalled, but I did try to use a “gift link”) is one of those articles that is made for me. It’s a story about some little town I’ve never heard of, beautiful and full of charm, that takes […]

Questions for Conversation

A friend has a go-to question for a conversation starter, particularly among business colleagues: What’s a business you admire? He runs Frontend Masters and without blowing smoke, I’d put that on the list. They run a good ship over there. Let’s see what else. I’m a Kwik Trip guy for sure. I hate to make […]

A Digital Color’s Journey

Let’s say you were looking at a sunset with your eyeballs. You loved all the shades of orange that were happening. So orange! You took a photo with your modern digital camera. Later, you get the photo off your digital camera on your computer. You like post-processing your photos, so you used Adobe Lightroom to […]

Arc Usage Update

Much to my surprise, I’m still using Arc as my daily driver browser. I really respect how big of a swing this is for that team. It’s honest-to-god browser UI/UX innovation, in a way that it feels like bigger established browsers could never would never. It’s just fun to watch their journey. Browser engines are […]

Remy’s Dead Link Solution

On this site, at the moment, I have a 🔀 random button in the header that takes you to a random blog post. The chances that the random blog post has links in it that are dead are way too high. As in, the URL no longer resolves, or goes somewhere entirely wrong now. Perfect […]

Message Decoder

You know the feature: you get an SMS message with a 6-digit code (OTP) on your iPhone, and you don’t even have to switch over to the Messages app, the 6-digit code appears right above the keyboard itself. Tap it and the code autofills where needed. It’s an amazing feature of a mobile OS. That’s […]

Back to Top ⬆️