CSS Extras

Languages and libraries

css utility library

SHOW HN2025

104points
63comments
#709of 3,837 in 2025
Top 19%of 2025 by points

How HN took it

DebatedReal support and real criticism

6 positive, 7 neutral or asking, 0 mixed, 7 critical, out of 20 comments about the project. Thread score -0.09.

Execution: 2 for, 3 againstIdea: 3 for, 2 againstPerformance: 0 for, 2 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Functions allow parameterizing stylesheets and deriving themes from base values

    From 1 comment
    • It's not for DRYing/golfing code. The main use case of functions is that you can parameterize code. This lets you parameterize stylesheets, like set a base font size and primary…
      hombre_fatal on HN
  • CSS functions and mixins may make much current cruft unnecessary

    From 1 comment
    • > Oooh this will not end well.. On the contrary. CSS functions and mixins may make a lot of current cruft unnecessary.
      jampekka on HN

Objections

  • CSS is getting too complex and spaghetti-prone

    From 2 comments
    • Whoo. I’ll be the first hyper negative prototypical HN commenter. I’m glad I don’t work on browser engines for a living. CSS is getting more complex and spaghetti-capable by the…
      christophilus on HN
    • Oooh this will not end well.. Also side question, is it really necessary to have this as an npm package ?
      bilekas on HN
  • @function is not supported in Firefox or Safari

    From 2 comments
    • Not supported by Firefox or Safari https://caniuse.com/?search=%40function
      dmix on HN
    • Yes, @function is still at the "public working draft" stage. https://www.w3.org/TR/css-mixins-1/
      CharlesW on HN
  • Runtime versus build-time performance tradeoffs

    From 3 comments
    • Welp, time to make a @function preprocessor. There is no reason for every single client to recalculate things which could have been completely or partially calculated at build…
      cluckindan on HN
    • It's a tradeoff. I expect this to be non-trivial, do nothing in the general case (when referring to runtime CSS vars) and possibly increase your final CSS size for any…
      kaoD on HN
    • I used to share this sentiment (and I’m a web performance consultant by profession so very few people care about performance as much as me!), but when you consider how much…
      csswizardry on HN
  • Publishing as npm package is unnecessary; a CDN would do

    From 2 comments
    • Oooh this will not end well.. Also side question, is it really necessary to have this as an npm package ?
      bilekas on HN
    • Surely a cdn is more convenient. I don't want to install an entire package manager just to 'install' 2 CSS files.
      bilekas on HN

Requests

  • More compelling use cases beyond DRY refactoring

    From 1 comment
    • It would be quite nice to see some more "killer" uses of this new feature that aren't just "we removed some duplication and... saved less than 1% of our loc". And maybe there are…
      gampleman on HN

Questions

  • Are CSS functions Turing complete?

    From 2 comments
    • Obvious question: are CSS functions Turing complete?
      ape4 on HN
    • They are not allowed to loop or recurse, so no, by themselves, they are not (unless you accept repeating the function a potentially infinite amount of time). CSS in general is…
      Sesse__ on HN
  • How to load CSS libraries from components (CSS Modules)

    From 1 comment
    • One problem I think people are going to run into here is loading CSS libraries from the components that use them. Luckily, CSS Modules are starting to land in multiple browsers.…
      spankalee on HN

Alternatives named

  • Tailwind

    From 1 comment
    • People who don’t understand the problems CSS has to solve are opposed to CSS solving those problems. Sure it can all be stuffed into Tailwind classes!!
      robertoandred on HN
  • Sass preprocessor variables and functions

    From 1 comment
    • It’s the same with Custom Properties. There are plenty of situations where they are useful at runtime, but a lot of their use is just a single definition on :root, and people…
      chrismorgan on HN
  • Built-in CSS abs() and round() functions

    From 1 comment
    • abs() exists with cross-browser support: https://developer.mozilla.org/en-US/docs/Web/CSS/abs There are also other non-custom math functions like round() which can be very useful.
      semolino on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/45513956)