Chris Coyier on

The HTML, CSS, and SVG for a Classic Search Form

Let’s build a search form that looks like this: That feels like the absolute bowl-it-down-the-middle search form right now. Looks good but nothing fancy. And yet, coding it in HTML and CSS I don’t think is perfectly intuitive and makes use of a handful of decently modern and slightly lesser used features. The Label-Wrapping HTML […]

Chris Coyier on

Feedback on Masonry Layout

Jen Simmons posted Help us invent CSS Grid Level 3, aka “Masonry” layout over on the WebKit blog the other day and is actively soliciting feedback. Our hope is that web designers and developers chime in (post to social media, write blog posts) with your thoughts about which direction CSS should take. Don’t mind if I do. Do […]

Chris Coyier on

Web Awesome Kickstarter

What is the go-to component library these days? I’m not sure there is a clear winner right now. Bootstrap is still popular I’m sure. It seems stable but also sort on maintenance mode and the fact that they are recommending this feels like they are kinda done. I imagine the Sass dependency makes it slot […]

Chris Coyier on

Blocking AI Bots

I heard from a guy once who was incredulous I’d want to block the bots that scrape websites to train AI models. Why wouldn’t I want to help train the intelligence of the future? I get that perspective, I do, but shouldn’t it be up to me? The companies that are scraping my sites are […]

Chris Coyier on

Faces.js and Playing with Densely Packed Grids

I only just recently saw Faces.js, a library for producing controllable cartoony avatars. It was launched in 2012, so I’m a little late to the party. It produces faces (busts, really) randomly, or with certain parameters locked to what you want. I think that’s a really cool idea, and if you needed this kind of […]

Chris Coyier on

What’s Going On in Dark Theme / Light Theme Land

There has been a fresh round of enthusiasm and writing around light mode / dark mode support for the web lately. I think it’s driven partially by the new light-dark() function in CSS (CSS Color Module Level 5 spec) that makes it easier to declare values that change depending on the mode. Here’s the basic […]

Chris Coyier on

Things That Can Break aspect-ratio in CSS

CSS has an aspect-ratio property, which has had full support since around 2021. It can be a very satisfying property to use, because it can help match how your brain 🧠 works or what the desired design outcome does better than forcing dimensions does. “I need a square here” or “I need to match the […]

Chris Coyier on

require(esm) in Node.js

Joyee Cheung made some waves in Node land last month: Since ESM was shipped in Node.js, for many years, it was possible to import cjs, but not possible to require(esm). The frustration of ERR_REQUIRE_ESM has bothered many and probably has been the primary source of wasted hours in the Node.js ecosystem. If package authors wanted to make sure that […]

Chris Coyier on

Document Collaboration (with Comments!)

There are a million document editing apps on the web. There are so many potential features that they can find customers depending on the perfect set of those features. Markdown supported? Markdown focused, or can you do more elaborate formatting? Collaborative? Realtime collaborative? Does it track history? What formats can it export it? Integrations? There […]