CSS Extras
Languages and libraries
css utility library
SHOW HN2025
How HN took it
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 HNOooh 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 HNYes, @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 HNIt'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 HNI 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 HNSurely 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 HNThey 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