this post was submitted on 08 Jan 2025
85 points (92.1% liked)

Programming

17935 readers
160 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
all 28 comments
sorted by: hot top controversial new old
[–] [email protected] 27 points 2 weeks ago (3 children)

Yeah CSS is now decent. The only problem is that the nesting is not very well supported yet. It’s something like only browsers > 2023 and let’s be realistic people run old machines.

[–] [email protected] 8 points 2 weeks ago (1 children)

Definitely not widely supported enough. Made the switch from sass back to css quite a while ago and let postcss polyfill less supported features like nesting.

[–] [email protected] 1 points 2 weeks ago (1 children)

Yeah, I was reading about PostCSS the other day, but still too lazy to change my environment. To be fair I only need the nesting polyfill and some kind of minifier, the rest I can live with native stuff.

[–] [email protected] 2 points 2 weeks ago

Lightning CSS is also great. A minifier at its core but also includes transpiling for older browser

[–] [email protected] 5 points 2 weeks ago (1 children)

We still see somewhat old browsers, especially from people using Safari on Apple devices (because IIRC it only updates when you update the whole OS). But it's a lot better than it used to be thanks to most browser having auto-updates

[–] [email protected] 1 points 2 weeks ago

Yeah, exactly.

[–] Kissaki 1 points 2 weeks ago (1 children)

I've read interesting argumentation against nesting. I'm not confident in whether it's more useful or not, in some situations or in general.

[–] [email protected] 2 points 2 weeks ago

Trust me, you'll code faster and your CSS will be way more readable.

[–] [email protected] 22 points 2 weeks ago (2 children)

I, uh, hate that radius calculation. Why does the radius need to be reactive? What do you stand to gain over just setting to like 3 or 4px and moving on with your life?

[–] [email protected] 27 points 2 weeks ago (1 children)
[–] [email protected] 3 points 2 weeks ago (1 children)

Cool. Help me learn then by answering my questions.

[–] [email protected] 19 points 2 weeks ago (1 children)

He did

[...] Why does the radius need to be reactive? What do you stand to gain over just setting to like 3 or 4px and moving on with your life?

Junior webdev points

AKA you gain nothing.

[–] [email protected] 23 points 2 weeks ago

Oof, I might have wooshed there. Totally read that comment as criticizing my inquiry as things a Jr would ask and not as the implementation being "look what I as a Jr can do!"

[–] [email protected] 3 points 2 weeks ago (1 children)

I'm not sure how this relates to the shared post. I'm just searched the article for "radius" and only found one example where a variable is defined then used later. Were you talking about this ? Or can you clarify what "radius calculation" you hate ?

[–] [email protected] 6 points 2 weeks ago* (last edited 2 weeks ago) (2 children)

They're referring (I believe) to the screenshot right at the top of the article, which includes this absurd calculation:

border-radius: max (0px, min(8px, calc( (100vw - 4px - 100%) * 9999)) );

My guess (hope!) is that this is not 'serious' code, but padding for the sake of a screenshot to demonstrate that it's possible to use each of these different features (not that you should!).

[–] [email protected] 3 points 2 weeks ago* (last edited 2 weeks ago)

It‘s used in Facebooks css. Remembered it from a nice article from Ahmad Shadeed. And while this limbo sure has some usefulness, it‘s way too obscure to use for the fun of it.

To add to this: CSS really has come a long way. This border-radius example can be done with Container Queries by now, which has quite good support already.

[–] [email protected] 2 points 2 weeks ago

border-radius: max(0px, min(8px, calc( (100vw - 4px - 100%) * 9999)) );

Oh I missed this. I think it's only here to showcase doing math between different units, which is really nice in my opinion. I'm thinking about a few instances where I had to resort to dirty JS hacks just because CSS did not support this at the time

[–] [email protected] 11 points 2 weeks ago

still can't do mixins and extends though. :(

[–] [email protected] 11 points 2 weeks ago (2 children)

I like that css now has variables, but why that syntax?

[–] [email protected] 5 points 2 weeks ago (1 children)

I think to make sure they don’t clash with existing identifiers

[–] [email protected] 23 points 2 weeks ago

I could understand declaring with --foo, but then referencing should be either var(foo) or just --foo, not the combination var(--foo). I don't get why the grammar has to work that way.

[–] [email protected] 10 points 2 weeks ago (1 children)

Good riddance, I say. Web dev is infested with layers upon layers of tools that attempt to abstract what is already fairly simple and straightforward to work with. We're beyond the days of needing to build buttons out of small image fragments, and JS is (slowly) becoming more livable in its raw form. I welcome anything that keeps the toolchain as simple as possible.

[–] [email protected] 2 points 2 days ago

At my company I start all new projects without a framework. I try to write things in templated backend frameworks with no javascript on the frontend. If I need javascript, I try to use web components, styled with modular css in the shadow dom.

However, this sometimes requires an absurd amount of build tool configuration with webpack in order to get static asset and typescript loading working just perfectly. I end up kind of just writing my own framework instead

[–] [email protected] 8 points 2 weeks ago

I still reach for sass for a lot of things, but now you don't have to, which is really nice

[–] [email protected] 8 points 2 weeks ago

HTML tends to absorb all its best kludges. I put off learning JQuery for so long that the features I wanted became standard.

[–] [email protected] -1 points 2 weeks ago (1 children)
[–] [email protected] 3 points 2 weeks ago

It seems to be working for me, it's weird. I've updated the post with the same URL anyway, and you can try https://scribe.bus-hit.me/@karstenbiedermann/goodbye-sass-welcome-back-native-css-b3beb096d2b4 if that still does not work