Do Logical Properties Make CSS Easier to Learn?

I recently said yes: They make CSS into a more coherent and interrelated system that is easier to learn and reason about. Jim has doubts: top, left, right, bottom, those directional properties are tied to my everyday experience of physical reality so they are easy to understand. … | Continue reading


@chriscoyier.net | 1 year ago

What would you do for a living if you weren’t doing what you’re doing now?

I want to think I’d pick some other niche thing and do it myself but also spin off a meta-career, helping people understand it better. I think I’ve got just enough entrepreneurial spirit it would be inevitable. Doing that with playing the banjo would be pretty neat. Fortunately, … | Continue reading


@chriscoyier.net | 1 year ago

Stacking Contexts! Get’cher Free Stacking Contexts!

In a recent Kevin Powell video (it’s the first trick of five), he talks about isolation: isolate;. The name is strange, but the point of it is that it gives you a new “stacking context” in CSS without any side effects. Stacking context, as in, a new zone for z-index values. This … | Continue reading


@chriscoyier.net | 1 year ago

A Good Use Case for Container Queries in CSS: A Weekly Events Calendar

One hundred years ago (2018), in the dark ages before Container Queries existed, Philip Walton put together Responsive Components, a JavaScript-based technique for flopping out classes on elements at certain widths (element widths, not viewport widths) such that you could re-styl … | Continue reading


@chriscoyier.net | 1 year ago

Site Search & Open Search

There used to be this thing called OpenSearch that would provide some level of UX in browsers for searching individual sites. You had to bring-your-own search functionality, this was just getting users to it. I say “used to be” a thing because it seems like it’s been neutered out … | Continue reading


@chriscoyier.net | 1 year ago

“the secret list of websites”

The Washington Post does research to figure out which websites were used to train Google’s AI model: To look inside this black box, we analyzed Google’s C4 data set, a massive snapshot of the contents of 15 million websites that have been used to instruct some high-profile Englis … | Continue reading


@chriscoyier.net | 1 year ago

Almost Maximize

Y’all use Raycast? I do, but I’m a little itty bitty baby user. Like I just have it replace Spotlight because it seems to work equally well as Spotlight for finding files and applications. But then has a few bonus features here and there. I use the commands to move windows around … | Continue reading


@chriscoyier.net | 1 year ago

🎮 Switch

I just got a Nintendo Switch. It was released in 2017, so I’m a little behind the curve. My thinking was that Ruby, my five-year-old, is just about ready to be able to play games with controllers. I’ve tried before with Alba: A Wildlife Adventure on AppleTV using a controller, an … | Continue reading


@chriscoyier.net | 1 year ago

Oh, the Hue Manatee!

Seems important: Notes! | Continue reading


@chriscoyier.net | 1 year ago

Media Diet

Continue reading


@chriscoyier.net | 1 year ago

Expanding Grid Cards with View Transitions

A friend showed me something of a design spec they were charged with pulling off: The requirements: … when I click on any of them it expands at the top to full width and the rest of the cards re-arrange themselves below it. Like anything web design & development, there are a boat … | Continue reading


@chriscoyier.net | 1 year ago

What’s a Basic Use Case for Cascade Layers in CSS?

Say you pull in Bootstrap (or any other grab-and-go CSS library) something like: Now you use it to style a card or something… But you don’t like the amount of margin on .card-title. Now what? Options: I’m not a big fan of any of those approaches. They all come with at best little … | Continue reading


@chriscoyier.net | 1 year ago

Emoji Lists, The Good Way?

I read some accessibility advice recently: don’t make lists where the bullet for each item is an emoji. I think they were saying it is just… annoying. I generally find it annoying visually, so I imagine it’s more so when you have to wait for emojis to be described. Here’s a scree … | Continue reading


@chriscoyier.net | 1 year ago

Family Trip to Hawai’i

We’ve just returned from our spring break trip this year. Sppprrinnnng breaaaaakkkk. We joined another of the same families from our fateful spring break trip last year, so Ruby our 5-year-old was joined by her buddies Monroe (5) and Zoey (4). Any other day, I would have felt ext … | Continue reading


@chriscoyier.net | 1 year ago

Prevent Transitions as a Page is Loading

I ran into this problem 11 years ago and blogged it. The problem is preserved in this video that shows a hilariously early version of CodePen and how some CSS transitions are firing early and causing the page load to look weird. That old blog post used jQuery and old CSS prefixes … | Continue reading


@chriscoyier.net | 1 year ago

Delegation

Nicholas C. Zakas talked about delegation in a newsletter a while back. I remember my first experience with delegating was making the choice to hire people in the early CSS-Tricks years. I wanted to do it because entirely because of time. There was just too much to do and if I co … | Continue reading


@chriscoyier.net | 1 year ago

Authenticity

I enjoyed this podcast with Susan Rogers who’s new book This is What it Sounds Like digs into why we like the songs we like. Susan unpacks the seven dimensions of music and how they show up along a varying spectrum in every song. She explains how everyone has an individualized ta … | Continue reading


@chriscoyier.net | 1 year ago

Jeepers Frigging Cripes Crypto and NFTs are so stupid and dumb and bad and I can’t even. I’m out. Goodbye. Burn it down please.

Just my own personal experience in three acts. Literally every experience I have in this world is gross at best and criminally evil at worst. Who it benefits that actually needs the benfefit is vanishingly few. I’m sorry I even dipped a toe. | Continue reading


@chriscoyier.net | 1 year ago

I Wish TMUX Looked Good

I kinda like tmux. A terminal multiplexer. Hell yeah. What it does, anyway. Less so how it looks or works. 😬 Toss a little tmuxinator on there and now the config is a tolerable incantation of yaml. (Or, probably, some shell script that sets things up and then calls that c … | Continue reading


@chriscoyier.net | 1 year ago

Yeah that Apple Podcasts thing was a weird detour. It’s Overcast time.

I got disenchanted with Pocket Casts last month after the incessant crashing in Car Play. And I figured, gosh, Apple Podcasts is still a super dominant app for listening to podcasts, maybe I should just switch to that. I’ve always been attracted to that idea of “running a stock m … | Continue reading


@chriscoyier.net | 1 year ago

Doing Computer

When it’s hot and sunny outside, I can do computers inside in the nice air conditioning. When it’s cold and wet outside, I can do computers inside with the lovely warm heat on. When I’m sad, I can do computers and find something to cheer me up. When I broke both my elbows, my wri … | Continue reading


@chriscoyier.net | 1 year ago

Why aren’t logical properties taking over everything?

They are just better than their non-logical counterparts. Because: So since they are better and support is green across the board, why aren’t they taking over all usage? I don’t know that I have any killer advice here. I know that my own brain has done OK in flipping modes and ma … | Continue reading


@chriscoyier.net | 1 year ago

Playing with a Blockquote using Modern CSS Features

Features like: Demo: | Continue reading


@chriscoyier.net | 1 year ago

Semaglutide

I’ve been calling it sem-EYE-glue-tide in my head for the last 5 weeks, but I heard it on a recent podcast it’s pronounced more like it’s spelled: seh-MAH-glue-tide. Much smoother. Anyway: 258. Down from 270 the day I started Ozempic. A decent 2lb-per-week slide down. Feels susta … | Continue reading


@chriscoyier.net | 1 year ago

Stretchy Numbers Apple Watch Face via Variable Fonts

I just noticed this morning my Apple Watch has a slick face where thinking with the knob makes the numbers on the clock face stretch wide and narrow, to rather extreme degrees: That’s the San Francisco font surely, which I recently discovered was a variable font as-installed on m … | Continue reading


@chriscoyier.net | 1 year ago

Zebra Stripe Lines of Text Even When They Wrap

The trick is essentially the same as the gradient text trick. Make the letters act as the mask, and set the background to a gradient. It’s just this time, the gradient will be solid alternating colors. The trick is the lh units. New! Line-height units! Cool! Just Chrome so far, s … | Continue reading


@chriscoyier.net | 1 year ago

Scrollbar.app

A little CSS helper app from Henri Parviainen. So you can quickly design up some beefy ass scrollbars like Tim Burners Lee probably intended. I prodded Henri to add the standardized scrollbar-color in addition to the more fancy -webkit- ones as well as use the custom properties. … | Continue reading


@chriscoyier.net | 1 year ago

Can the AI revolution at least write all my stupid unit tests?

It’s lookin’ good kids. There’s one use case that I find very well suited for Copilot, which spares me tons of tedious work – unit testing. Yanis — Using Github Copilot for unit testing I’ve seen that in my own test writing. GitHub Copilot has surely seen so many unit tests it’s … | Continue reading


@chriscoyier.net | 1 year ago

What’s the best URL you can send someone to subscribe to a podcast?

The best one URL, that is. That’s tricky. For ShopTalk Show, I could give you an Apple Podcasts link, that’s a pretty popular choice: https://podcasts.apple.com/us/podcast/shoptalk/id493890455 But not everybody uses Apple Podcasts. You’ve got your Pocket Casts people, your Overca … | Continue reading


@chriscoyier.net | 1 year ago

Nesting in PostCSS — Which Way to Go?

There are two major plugins for nesting in PostCSS that I’m aware of: There is a lot to unpack here! I think many people think of PostCSS as a “future syntax CSS processor”, probably due to the ease of setup of using postcss-preset-env, a plugin that is essentially a big group of … | Continue reading


@chriscoyier.net | 1 year ago

You can just put a folder of files on the internet if you want to.

Here’s mine: It’s absolutely nothing compared to Ethan’s famous bukk.it, but it’s mine. I chucked this directory online just a month or so ago after I was doing some digital file management. I had a couple of huge boxes of cases full of burnt (burned?) CDs and DVDs. There was a b … | Continue reading


@chriscoyier.net | 1 year ago

What the heck does “fast” mean?

From Dave’s So you want to make a new JS framework: You need say it’s “fast” This requirement applies to nearly every tech product. You absolutely gotta tell people it’s fast, but, plot twist, these products often aren’t particularly clear about what that means. Picking on framew … | Continue reading


@chriscoyier.net | 1 year ago

Hey, there are a lot of websites that are hosted on services that don’t have a server-side language in which to process forms. I should do a startup that helps process forms there.

Good idea! It’s a clear need and offers a clear value proposition. Best of luck. You will have a little competition though: And I bet there are several more at this point, I haven’t updated my list of these in a few years. I came up in this industry working at companies solving “ … | Continue reading


@chriscoyier.net | 1 year ago

Randomized Bookshelf Rectangles

Hidde de Vries’s Data-informed flex-grow for illustration purposes is a walk through some of the techniques he used to build his bookshelf backgrounds. There didn’t seem to be an isolated demo so I made one for myself: Forgive me the sin of using React. Just seemed like a quick w … | Continue reading


@chriscoyier.net | 1 year ago

Adobe Podcast Tools

This seems new? https://podcast.adobe.com/ Looks like it’s a “labs” experiment (Project Shasta) growing up into a more full-blown product, a whole new vision for podcasting tools. I like it. It fits with an overall vision that Adobe supports the creative endeavors of people. I’ve … | Continue reading


@chriscoyier.net | 1 year ago

The Page with No Code

Dan Q’s demo is pretty fun. You’ll see a white page in anything but Firefox. But in Firefox you’ll see a webpage-looking webpage only if you View Source you’ll see nothing at all. This is a classic CSS trick that relies on the fact that Firefox lets you apply CSS to a page by inc … | Continue reading


@chriscoyier.net | 1 year ago

Apple Podcasts

After (a lot?) of years using Pocket Casts, and thinking how cool it is that it’s fully open source now, I’ve moved off it. I love podcasts, but the only time I really have to listen to them is in the car (CarPlay), and my trips are usually 10-15 minutes (I’m a 1.5×-er). Pocket C … | Continue reading


@chriscoyier.net | 1 year ago

Useful Snippets for In-Browser Console Usage

A Christian Heilmann project called Dear Console…. There are 18 in there right now and they are all pretty neat. I’ll re-post one (submitted by Pankaj Parashar) I thought was very interesting as I’ve never heard of the main API being used: On this site: :sad-trombone: Aside from … | Continue reading


@chriscoyier.net | 1 year ago

The Fox and the Hound 2

As a hot take, it’s blasphemy that Disney even made a “2” of The Fox and the Hound (in 2006, after the 1981 original). Let alone made it non-canon. (Are we supposed to believe that in the time gap in the original movie between Tod and Copper’s childhood and the ending with the wh … | Continue reading


@chriscoyier.net | 1 year ago

Web Ecosystem Health

Dave and I did a little podcast crossover and joined Brian Kardell and Eric Meyer over on the Igalia Chats show. They are nine-parts deep on this series so far talking about Web Ecosystem Health. It’s a fascinating topic so I’m glad they are making it a whole series rather than c … | Continue reading


@chriscoyier.net | 1 year ago

How To Newsletters

Tina Roth Eisenberg the other day: I get way too much email. Reading newsletters in my inbox has never been the right context for me to actually enjoy content I am subscribing to. Looks like I am not the only one who is struggling with a workflow that makes sense for consuming ne … | Continue reading


@chriscoyier.net | 1 year ago

Whoa — MDN has ads now?!

That’s fake exasperation. Yes, they do! I’m just not terribly surprised. If someone were to put me in charge of MDN and finding a business model, I would have used advertising as part of it long ago. I think it can be done tastefully, non-invasively, and possibly even usefully. S … | Continue reading


@chriscoyier.net | 1 year ago

It’s Log

These likely bear no semblance to Official Computer Science categorization, but these are the categories of logs in my head: I suspect a decent amount of computer work is tending to logs of one sort or another. I’m thinking about this because it’s come up at work a decent amount … | Continue reading


@chriscoyier.net | 1 year ago

Noodling on WordPress in 2023

I was catching up on Matt’s latest State of Word the other day. I’m something of a career-long user and fan. WordPress has changed a heck of a lot over the past few years. One big change was the Block Editor (aka Gutenberg). I wasn’t maybe on the bleeding edge, but I was a pretty … | Continue reading


@chriscoyier.net | 1 year ago

Container Queries in All Stable Browsers

So that’s: Just a massive deal. Cute that it landed on Valentine’s Day. This flips a switch in my brain: I can totally use these in production… right now. I won’t even bother polyfilling. I’m quite proud that in Google’s announcement post (thanks Una!) that the demos are using Co … | Continue reading


@chriscoyier.net | 1 year ago

2023 CSS Wishlists

Fun little blogging theme emerging this winter here. I like 🧠 galaxy-brain stuff the most. That is, ideas I haven’t seen floated anywhere else but make good sense. There is a bunch of stuff that we kinda just know we’re going to get this year, and while that stuff is aces … | Continue reading


@chriscoyier.net | 1 year ago

I’d like to remove the typeface Academy Engraved LET please.

See this typeface Academy Engraved LET? It’s usually the first typeface in my Font dropdowns in every single app. No shade, it’s just a very stylized typeface that isn’t really my style. I want to remove it from this dropdown. Maybe not even forever, just deactivate it. That’s wh … | Continue reading


@chriscoyier.net | 1 year ago

Andy’s Favorite CSS (Scoped Spacing Between Elements)

Is this: It’s essentially a scoped lobotomized owl. Love it. The idea of putting spacing only between elements is great. Having to select and remove spacing from the last element, or intentionally not select the first element, is weird mental overhead that is nice to avoid. Not t … | Continue reading


@chriscoyier.net | 1 year ago