7 ms·
> but probably because I always forget what in the world all the options mean/are, haha! CSS is so big, and only getting bigger all the time (just read the Chr
by Culonavirus 3y ago
> but probably because I always forget what in the world all the options mean/are, haha!
CSS is so big, and only getting bigger all the time (just read the Chrome release highlights over the last few years, your head is going to spin just from the CSS additions alone), yet at the same time it's not a language (where you can typically get by with just learning the basics and start to write useful stuff real fast by relying on general algorithmization skill and programmer intuition), just a massive set of directives you can combine together, I really feel like at the point where it is all in your head and ready to go (i.e. you know what you're about to do, you do it and it does what you intended... without you having to go through a 10 minute Chrome dev tools & Stack Overflow intermezzo), you have to have such a good memory, that you would do much better as a lawyer or a doctor than "mastering css".
Is there some better universal styling solution than CSS? Probably not. Is CSS way, way too big nowadays? Hell yes.
- manuelmoreale 3y agoI personally don’t understand the argument of CSS being too big. You don’t have to use all the bells and whistles, you can just use a subset useful to you and be done with it.
- Culonavirus 3y agoI disagree. While you can absolutely just pick and choose when using css as "salt & pepper" for an internal app ("admin" kind of part of a system), once you get into coding for a reasonably big frontend (of, say, an ecommerce site), suddenly you need all the bells and whistles for all the different media query versions of the site, mobile first is now a real requirement (most ecommerce visits are from mobile platforms and google uses mobile view to index and rate your site with Web Vitals) and so you have to know about flex, grid, typography, sizing, animations, scrolling, interactions, layout shifts, performance, browser support etc. etc. as otherwise you have an ugly, buggy, jumpy, unmaintainable mess on your hands. There's a reason there are dedicated jobs for just front end development. It's a big task, and often for a different (not worse, just different) kind of person than your typical programmer who enjoys algorithmization. It's more about a person's crisp memory and good visual design ability. For some of us who work as "full stack" devs sometimes, it's a lot of additional crap that you need to know... and so I can see why things like Tailwind (and its paid and free components) are popular.
- zarzavat 3y agoAs someone who started when CSS was so underpowered that layout was still done with <table>… I remember the introduction of every new CSS feature, and I will cherish them all forever. The introduction of flexbox was like Christmas to me, and CSS grid was all my birthdays and Christmases at once. It’s definitely much easier when you learn all of these features as a drip drip drip over decades. I can’t imagine picking up CSS from scratch as a new dev in 2023. It must be extremely intimidating. Although on balance, I’d say that despite the extra features, CSS is a lot simpler now than it was in the 00s and early 10s. The rendering engines are much better and agree almost all the time, in the past you’d spend a most of your time debugging your layout in different browsers, or fighting CSS to get it to get it to make the layout that you want (and eventually giving up and using a table)
- manuelmoreale 3y agoI don’t disagree with you. But you also don’t disagree with me either. You said it yourself “once you get into the coding for a reasonably big frontend”. That’s a specific task and the web is not made of only big projects. CSS is vast but also allows you to ease into it. You don’t have to master it from day one in order to use it. And that’s the beauty of it imo. I personally enjoy working with CSS and one of the reasons why I like it it’s because after 10 years and hundreds of sites coded I still learn new things about it.
- runarberg 3y agoI feel like the frontend gets an unfair treatment by many here on HN. I doubt people complain that the standard library of python is too vast, and you cannot master it. I feel like there is a lack of respect for professionalism on the front end stack and a lack of understanding that we front end developers actually spend a lot of time mastering this craft so we can use it skillfully at our jobs. The only way I can make sense of this sentiment is that people feel like CSS is something to hack with, it is a toy, for hackers to play with, not a tool for professionals who spend years mastering the skill. I wonder why this is.
- 3y ago
- easyThrowaway 3y agoBut once you get into a pre-existing project, you have to be aware how every part of the language interact with each other. Grid vs Flex vs Tables vs Queries vs Components You have to know the language pretty well to avoid visual glitches. Corner and general cases are usually documented on the MDN, but they're not very intuitive, and often very, very subtle. Did you know that just by using an apple magic mouse vs a magic trackpad you could change the behavior of the "overflow" property?
- manuelmoreale 3y agoThis is a fair point and one I’d agree with when it comes to working on pre-existing projects. I was commenting on CSS in general. That said, CSS is easy to understand in general IMO so even if you’re not familiar with a specific property or tool within CSS it shouldn’t take a ton of time to understand how to use it. But that’s my experience with it and I understand that I worked with CSS daily for the past 10+ years so I might have a skewed perspective.