10

Why do some folks really not like CSS? Be honest!

Comments
  • 11
    They lack the understanding, and would rather just throw shit at the wall and prey it sticks then actually understand what they are trying to achieve.
  • 12
    @C0D4 in all my years of working with devs who are stuffed into FE positions, you fucking nailed it.

    80% of the bullshit I have seen JavaScript or jQuery do could have been done with with proper CSS and correct classifications.

    I saw a Sr level developer, someone with 30 years of experience, use tag IDs like classes. I then, as a Jr, had to explain to them why it wouldn't work. Did they learn? No! They kept doing it because they were too lazy to change.
  • 2
    Mainly because they also fail to understand HTML and hence have no idea how to use CSS. That's also the root cause for garbage like CSS frameworks, which are a bloody stupid idea.

    Then again, your average web dev is a completely incompetent moron who has no understanding of any tech basics and just tries to muddle through. That's the reason for the abysmal technical state of the average website.

    Those few web devs who do know their shit are too expensive at first, then get called in too late to fix the mess, but can't really do that much at this point other than some duct taping.
  • 2
    I have a feeling that it comes from CSS looking "simple" but being hard to actually master. It really frustrating in the first couple of months.
  • 2
    @PonySlaystation
    So true! Stuff like specificity is often never learnt but instead left to intuition, and then folks wonder why !important is everywhere
  • 2
    @C0D4 CSS's biggest strength is being designed to be idiot-tolerant.
    Bad syntax? No worries.
    You want to use IDs everywhere? Fine, I guess.

    So it's funny when those same folks bash it; this language is designed for you 🤣
  • 3
    @tbjgolden Oh god... I have specificity-PTSD
    I once saw a CSS file where roughly 80% was using !important
  • 2
    I don't mind CSS. My issue is with how CSS is used.

    In every single project I've worked on where they/we opted for custom CSS from scratch - no exception - it has grown out of control and become unmanagable. It often starts out ok, but then someone "just did it this way" or tossed on bootstrap and/or metroUI and/or bulma because that's what they prefer, and you end up with a styleimports.scss which begins with // DO NOT CHANGE IMPORT ORDER because specificity was a lost cause ever since 2015 and maintenance is on a "don't touch it it works" basis.

    In larger projects I find it much easier to enforce consistency and boundaries with component libraries, where custom CSS is mostly for the odd override.
  • 0
    Because query selectors are bullshit. You specify rules in terms of string names, you have to repeat strings that grow to the width of the screen if you're trying to be specific because there's no namespacing or aliasing therefore you're motivated to make the selectors and classes short, but short classes are also prone to collisions and since the default nesting is arbitrary depth you will have unexpected matches where every match in the chain has completely different contextual meaning.
  • 0
    And I haven't even talked about how introducing variables without units lead to a sea of antipatterns because it's one of those changes the W3C made just because it felt easy with no regard to how it'll be used, how CSS inexplicably has 3 different separators for list values and an additional one where lists are quoted for some reason and how CSS modules had to be implemented by a fucking JavaScript bundler, to JavaScript's module system, because this is the kind of problem that has several good solutions so the W3C will take decades before deciding on a good one unless someone goes and writes literally any of them.
  • 0
    Oh yeah and I forgot to mention that specificity never has been and never will be a valid way to order rules because you can't judge the generality of classes. Files should be read top-down in order of import and exceptions where we want a higher-level rule to apply in place of the current one should be represented by :not()
  • 1
    working with CSS to build a website is like working with atoms to build a city
  • 0
    @lbfalvy yeah that's a good point - :not wasn't in CSS1 and so that might be why we have to live with it
  • 3
    @hamido-san
    Using sweeping metaphors with tech is like using writing a poem with a sledgehammer
  • 0
    @tbjgolden Every web standard is like this, they're all designed to account for shortcomings in contemporary implementations and other protocols none of which exist these days but the hoops and loops are still around. It's manageable, especially with better languages to transpile, but I never understood why people try to defend them and retroactively explain decisions that are literally just technical debt.
  • 0
    because it's website stuff and I don't like website stuff. Also it's look pretty stuff and I don't fuckin care
  • 2
    Because sometimes it's like this.
  • 1
    Compare it to 3D design in a program like Blender. I am able to achieve a massive amount of complexity, manage generative meshes, animation, lighting etc. And It this is all much much easier in Blender. You put the same amount of time and effort into css to get what? a flyout menu, a sticky footer.
Add Comment