Blog / Web Dev

CSS Functions Are Quietly Changing How We Build: alpha(), @function, and the Stuff Nobody Talks About

CSS is getting more powerful. But I'm still not sure we're using it right.

Juan David Avellaneda June 15, 2026 4 min read 7 views
CSS Functions Are Quietly Changing How We Build: alpha(), @function, and the Stuff Nobody Talks About
AI Insights
CSS functions like alpha() and @function are revolutionizing stylesheet logic, making color manipulation and reusable styles easier, yet adoption remains fragmented.
CSS functions alpha() @function color manipulation CSS Grid Dialog element
Understanding these new CSS features can enhance your development efficiency and modernize your projects.

CSS Functions Arrived and I Almost Missed It

There's this thing happening in CSS right now that feels bigger than people are treating it. Functions. Not the JavaScript kind. The actual CSS kind. @function is coming, which means we can write reusable logic directly in stylesheets instead of reaching for preprocessors or JavaScript tricks. I should be excited. I am excited, kind of, but I'm also wondering if this is the moment CSS becomes too much to hold in your head at once.

The alpha() function is already here, and it's solving a real problem—color manipulation without needing Sass or LESS. You can adjust transparency on colors dynamically now, which sounds simple until you realize how many times you've written the same color value five different ways just to get opacity variants. Figma does this. Stripe's design system probably does this. But most projects I've touched? Still using hex codes and guessing on lightness values.

  • alpha() works in real browsers right now
  • You can nest color functions. This is either elegant or a maintenance nightmare, I haven't decided
  • Preprocessing becomes optional instead of required
  • Your team still needs to agree on a color naming convention, or you'll drown in variable names

Grid Lanes and the Dialog Problem We Keep Ignoring

CSS Grid got a refresh with lane-based naming, which means you can stop counting grid columns like you're defusing a bomb. Sounds good. But here's the thing—I've built custom grid systems in actual production that would've benefited from this five years ago, and now I'm not sure if adopting it is worth the refactor. The mental model shift is real. Your designers aren't thinking in lanes. Your junior developers will need training. And the old syntax still works, which means legacy code and new code will coexist in the same file forever.

Then there's Dialog, the HTML element that's been sitting around for longer than most people realize. I'm not sure this is the right move, but we've been building modals with divs and JavaScript event listeners for so long that Dialog feels like cheating when you finally use it. The accessibility is built in. The backdrop is native. You don't need a third-party library. Yet somehow developers still reach for custom solutions because it's what they know.

CSS Wordle and Why I Don't Play Games at Work

Someone made a Wordle clone entirely in CSS. Pure CSS. No JavaScript game logic. This is the kind of thing that makes you rethink what CSS can do, and I respect the technical flex, but I spent two hours down this rabbit hole when I should've been shipping a feature. That's the real cost of novelty. Browser performance matters more than novelty. User experience matters more than technical showmanship. I'm not sure I believe that completely, but I'm trying to.

  • It's technically impressive
  • It's practically pointless for most projects
  • It lives on GitHub and will have four stars
  • It'll somehow end up in a technical interview question in six months

What We're Actually Doing Wrong

The pattern I'm seeing across all of this—functions, Grid lanes, Dialog, the whole stack—is that CSS keeps getting more capable while developer adoption stays fragmented. According to the State of CSS 2023 (that report nobody finishes reading), Grid adoption hovers around 70% for awareness but actual daily use is probably half that. We learn features. We don't ship with them. We build fallbacks for older browsers that probably don't matter anymore.

I'm building a product right now where we could use @function to reduce CSS file size by 40%, maybe more. But the team hasn't shipped a CSS update in two years. The argument—and I'm not sure this is wrong—is that CSS works fine, browsers are handling it, and breaking it to add theoretical improvements isn't worth the risk.

That's the real conversation we should be having. Not whether CSS functions are cool. Whether they're worth the migration debt.

#CSS #CSS Functions #alpha() #Grid #Dialog #Performance #Frontend

Was this helpful?

Juan David Avellaneda

Juan David Avellaneda

Innovation Specialist · Bogotá, Colombia