this post was submitted on 08 Jan 2025
84 points (92.0% liked)

Programming

17894 readers
204 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 !webdev@programming.dev



founded 2 years ago
MODERATORS
all 28 comments
sorted by: hot top controversial new old
[–] TCB13@lemmy.world 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.

[–] pinchy@lemmy.world 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.

[–] TCB13@lemmy.world 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.

[–] pinchy@lemmy.world 2 points 2 weeks ago

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

[–] pcouy@lemmy.pierre-couy.fr 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

[–] TCB13@lemmy.world 1 points 2 weeks ago

Yeah, exactly.

[–] Kissaki@programming.dev 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.

[–] TCB13@lemmy.world 2 points 2 weeks ago

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

[–] unmagical@lemmy.ml 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?

[–] x00z@lemmy.world 27 points 2 weeks ago (1 children)
[–] unmagical@lemmy.ml 3 points 2 weeks ago (1 children)

Cool. Help me learn then by answering my questions.

[–] tapdattl@lemmy.world 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.

[–] unmagical@lemmy.ml 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!"

[–] pcouy@lemmy.pierre-couy.fr 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 ?

[–] lucas@startrek.website 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!).

[–] pinchy@lemmy.world 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.

[–] pcouy@lemmy.pierre-couy.fr 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

[–] frezik@midwest.social 11 points 2 weeks ago (2 children)

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

[–] GammaGames@beehaw.org 5 points 2 weeks ago (1 children)

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

[–] frezik@midwest.social 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.

[–] cupcakezealot@lemmy.blahaj.zone 11 points 2 weeks ago

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

[–] Cratermaker@discuss.tchncs.de 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.

[–] shortrounddev@lemmy.world 2 points 8 hours 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

[–] mindbleach@sh.itjust.works 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.

[–] Paradox@lemdro.id 7 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

[–] joachim@drupal.community -1 points 2 weeks ago (1 children)
[–] pcouy@lemmy.pierre-couy.fr 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