Every Day

Just kidding do whatever you want. | Continue reading


@chriscoyier.net | 1 year ago

Social RSS

A little bit from David Pierce’s Who killed Google Reader? One feature took off immediately, for power users and casual readers alike: a simple sharing system that let users subscribe to see someone else’s starred items or share their collection of subscriptions with other people … | Continue reading


@chriscoyier.net | 1 year ago

background-removal-js

Open source is eating the world, they say. I remember when remove.bg dropped, to a collective gasp. Give it a photo, and it automatically removes the background with no additional input or worked needed. Friggin cool. Now the website gives you “1 credit” to do that job, which you … | Continue reading


@chriscoyier.net | 1 year ago

sizes=auto is a great idea

The attributes of responsive s are pretty intense! You need to create/serve/cache multiple versions of images, know exactly how wide they are, and then accurately put that into the srcset attribute in the HTML syntax. Hopefully, you don’t need to change that system very often if … | Continue reading


@chriscoyier.net | 1 year ago

Songs in my head

“Snakebite” by The Benders Twenty years old. Love the energy all around, especially the vocals. The pseudo-yelling tempered by that megaphone effect works for me. “Ripple” by Logan Ledger Obviously a Robert Hunter song turned Grateful Dead classic, but I like Logan’s take. This i … | Continue reading


@chriscoyier.net | 1 year ago

Stock & Flow

Stock and flow is an old post from Robin at snarkmarket. This was the most challenging and most fun thing about back when I was running CSS-Tricks. There was always tension between two worlds. One: feeding the day-to-day machine. Be a magazine, a newspaper, or at least an industr … | Continue reading


@chriscoyier.net | 1 year ago

“Not a small problem”

The Pudding digs into the rarity of hearing women on country radio. The data is clear, but it’s not random or some “well there is just fewer hits by women” excuse. It turns out it’s an edict. What does it matter? Sniping a great quote: I’m trying to picture in my head a 10-year-o … | Continue reading


@chriscoyier.net | 1 year ago

Why don’t sites go down much anymore?

Websites used to go down with more regularity than they do now. Twitter famously had the fail whale. But I mean more like “normal” websites, like this one. If Daring Fireball linked to a site and it went down, that community called it getting “Fireballed” and there was exotic sol … | Continue reading


@chriscoyier.net | 1 year ago

Sacred Duty

Have you ever found one of these? It’s a leveling shim. Restaurants use them to quickly slip under table legs to keep a table from wobbling. If you find one, it is your sacred duty to keep it on your person until you come across a wobbly table. | Continue reading


@chriscoyier.net | 1 year ago

Getting Communicated At

There have been a handful of situations lately where I’ve felt that I was getting communicated at by an organization. I don’t want to throw anyone under the bus, but one of them was a dentist, if you’re curious. But it could be a school, a SaaS app, a conference, book club, or a … | Continue reading


@chriscoyier.net | 1 year ago

Practical SVG Gone Wild

The gang at A Book Apart have partnered with a “global distribution platform” such that their lineup of books has much wider distribution than it had before. There are lots of cool side effects of this, one of which is that the book now appears on huge sellers like Barnes & Noble … | Continue reading


@chriscoyier.net | 1 year ago

Google Passkeys

Just a quick note that if you’ve never tried Passkeys and you use Google stuff, you can set it up easily at: g.co/passkeys I did it a few months back, and it’s been pretty nice. Have you used a password thingy like 1Password? If you have, you know how when you log into a site, [… … | Continue reading


@chriscoyier.net | 1 year ago

margin-trim as a best practice?

It’s not every day there is a new “best practice” for CSS, since it’s such a huge, ubiquitous, and highly used language. But here’s one, maybe? If you add padding in the main flow direction of an element, adding margin-trim in that same direction. If you have both padding and mar … | Continue reading


@chriscoyier.net | 1 year ago

Reddit Protest & APIs

It’s a big day of protest at Reddit. Users are pissed at the prices that Reddit is to start charting for API usage, which has driven best-of-breed apps like Apollo to close doors. I liked Apollo, myself. I found it to be a very nice iOS app. So it’s annoying it’s going away. When … | Continue reading


@chriscoyier.net | 1 year ago

So a buddy of yours wants to pick your brain because they need to build a website for something.

Awesome. It’s nice to feel useful. Let’s say the goal of the conversation is to get closer to making actual choices on what technologies to use. Where are you going to host it? What is the main site-building tool, if any? Where are you going to buy a domain name, if anywhere? Wha … | Continue reading


@chriscoyier.net | 1 year ago

Hiding The Complexity of Element Selection

CSS is the champ1 of selecting elements. There is nothing on a web page that a selector of some sort can’t get it’s hands on. But not everyone, nay, very few people, are skilled at hand-crafting CSS selectors, yet need their functionality to do things. So sometimes applications n … | Continue reading


@chriscoyier.net | 1 year ago

What Works For You

I was just talking to a guy, a fellow dad, and we talked about our families. He said he was done thinking about how his parenting and choices measure up to any perceived standards or what other people are doing. We do what works for us. There are so many little details to parenti … | Continue reading


@chriscoyier.net | 1 year ago

Modern CSS in Real Life

Hey! Chris Coyier here. This is a blog-itized version of a presentation I created. It started life as a Keynote file which I presented in person at RenderATL in June of 2023. I put a lot of work into it! I’m so grateful to everyone who came and saw it. But you can’t beat the […] | Continue reading


@chriscoyier.net | 1 year ago

248

Since I weighed 271 lbs 4 months ago, this feels like decent progress, even though I feel a bit stalled out at this weight. I’m hoping I can blast past it. It would be neat to get back to where I was nearly a decade ago, then again. I’m still on the Ozempic. My insurance […] | Continue reading


@chriscoyier.net | 1 year ago

Auto-Shut-Off Headphones

TLDR: Blah blah: I’ve got a pair of Bose Noise Cancelling Headphones. I may have gotten them from a weird marketing campaign 😂. They are pretty nice. I think Bose made the “noise canceling” thing a thing, and I’m not turning my nose up at near-$400 headphones. But I’ll cr … | Continue reading


@chriscoyier.net | 1 year ago

Two Things That are Not Great About OKLCH

I’m still a fan of the OKLCH color model and CSS function. But there are a couple of things that are confusing or weak about it, and it’s probably fair to point those out clearly. 1) Adjusting the L, C, and H values by hand is a bit dangerous Dangerous because of totally invalid … | Continue reading


@chriscoyier.net | 1 year ago

New File Here

You can make a new folder anywhere you like on macOS. But not a new file. Sorta makes sense. What kind of new file? In a program like VS Code, it assumes it will be a text file (as opposed to binary), so it absolutely lets you create a new file wherever and you name […] | Continue reading


@chriscoyier.net | 1 year ago

Prebiotic Sodas

I like kombucha as much as the next person (a little), but unfortunately, nothing has really been able to break my Diet Soda addiction. Is it a huge problem? I don’t know. But sometimes I think, well, at least it can’t be terribly good for my guts. Maybe prebiotic sodas (kombucha … | Continue reading


@chriscoyier.net | 1 year ago

If you’re trying to trick people into thinking a domain name is legit and definitely not harmful, just put google.com@ in front of it.

I don’t know why this works, but it’s some kinda feature of URLs: https://google.com@chriscoyier.net/ It’s not a Google thing, I think anything works: https://daverupert.com@chriscoyier.net/ It opens a door to make functional URLs that go somewhere you really aren’t expecting: ht … | Continue reading


@chriscoyier.net | 1 year ago

The Best Mouse Pad

It’s the Razer Atlas Tempered Glass Gaming Mouse Mat. It’s so enormous. It’s so silky smooth. I love it. | Continue reading


@chriscoyier.net | 1 year ago

Early Days Examples of View Transitions

All of these are page transitions, like when you leave one page and go to another. As opposed to the document.startViewTransition kind, which are also cool, but not as game-changing. Here’s my playing around, which you can see in this Project. That’s an that turns into a on the … | Continue reading


@chriscoyier.net | 1 year ago

Tracking Blocked Scripts

If you have a reference to a script in JavaScript you think might be blocked… Before you add it to the page, you can add an error handler: Then kick it off… If you’re trying to detect this from tags in the HTML, you can still get a reference to it the script element, […] | Continue reading


@chriscoyier.net | 1 year ago

Cross-Posting

Y’all know Buffer? It’s a fairly sophisticated app for posting to social media. It began, I believe, as just a way to schedule tweets. Then it became a way to craft social media posts but send them to more than just Twitter: Facebook, Pinterest, LinkedIn, etc. That, to me, is sti … | Continue reading


@chriscoyier.net | 1 year ago

Add Opacity to an Existing Color

Say your brand color is the orange #f06d06. Now you need that color but with some opacity on it. One option is the 8-digit hex code. I find it hard to know which additional two characters are needed, but it’s possible. Hex Code Notes #f06d06 Original Orange #f06d0640 Orange @ 25% … | Continue reading


@chriscoyier.net | 1 year ago

If you’re looking to have nested DOM elements all participate on the same CSS grid, you’ve got Subgrid, but that just inherits grid lines. `display: contents;` can help put the elements on the same parent grid.

Take this markup: If article.recipe is display: grid;, then the only grid items are the , , and , because they are the direct descendants. But it’s a reasonable ask, I think, that you’d want the elements, actually, to be grid items, not the entire parent. The trick there is to t … | Continue reading


@chriscoyier.net | 1 year ago

☠️ WordPress to Twitter

I’ve long used automation to auto-publish from my WordPress sites to Twitter. I used to work with Automattic as a sponsor for ages, and I’d talk up Jetpack, a WordPress plugin, that handled this social media automation nicely. The Jetpack Blog, 10 days ago: The End of Twitter Aut … | Continue reading


@chriscoyier.net | 1 year ago

It is not me who is bad, it is the machine, you see.

I think text-generation “AI” will succeed entirely on the merit that most people just don’t like writing. They just don’t wanna do it. They have to do it, because job, but they’d rather not. It’s not a part of their role that they enjoy. It’s certainly not a fun break from other … | Continue reading


@chriscoyier.net | 1 year ago

Plays on Sci-Fi

I’ve heard a couple of mutations of “Sci-Fi” recently, so I’m documenting them for reference. | Continue reading


@chriscoyier.net | 1 year ago

What the frick is with the war on trans people?

Here’s one thing. Sometimes there are large-scale political events that leave me utterly baffled. I have this distinct memory from just after 911, where the news shifted to “we’re gonna go to war with Iraq” and I was like, “wait, what the frick does Iraq have to do with 911?”. No … | Continue reading


@chriscoyier.net | 1 year ago

Summarized Articles as-a-Feature

One thing about this current crop of “AI” tools going around that sticks in my head, I think I got it from a Shawn Wang article, is that “AI” is good at: So type “bernie sanders wearing a blue web standards beanie” into an image generation “AI” tool and those 50 characters of tex … | Continue reading


@chriscoyier.net | 1 year ago

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