The Future of CSS

(joshwcomeau.com)

48 points | by soheilpro 1 hour ago

10 comments

  • afavour 14 minutes ago
    I’m part of the seeming minority that really enjoys working with CSS. And the way I use it today is so different than I did a few years back, e.g CSS modules, declaring a palette with variables then changing it for dark mode… it’s genuinely great to work with.
    • techpression 7 minutes ago
      light-dark() is even better for that :) I also enjoy CSS, using @scope and @layer a lot with the :has() selector, it’s just so different now and I think most people are unaware.
  • alberth 0 minutes ago
    Maybe I’m alone, but all of those suggestions seem to make CSS needlessly complex.
  • CharlesW 41 minutes ago
    Since I’m in before the negativity: I love CSS! For whatever reason, it’s always made sense to me. I have great respect for everyone with the tenacity to push on improvements that might take 5-10 years to be in common use, if at all.
  • herpdyderp 2 minutes ago
    A bit strange to me how Josh beings with heralding the browsers working together and then every mentioned feature is Chrome only. They're nice previews for a potential future I suppose!
  • koolala 4 minutes ago
    The new responsively-sized iframes standard is an exciting one for me not mentioned. It's finally a step beyond the original frames and framesets. It will let us design sites out of iframes as building blocks instead of needing to use web components. Websites made out of websites.
  • lopsotronic 22 minutes ago
    Been waiting a long time for CSS inherit() . . . although I freely admit that (and CSS Functions) open a respectable-sized can of worms. Sort of like what transclusion and conditionals do for document markup.

    Anchor Positioning would be sweet and doesn't feel like it's got so much baggage.

  • jamienk 26 minutes ago
    Still can't tree shake. It's what makes my old css files grow into monsters. I feel like everyone has given up on this.
    • afavour 23 minutes ago
      CSS modules ought to make it possible. But it’s more or less impossible with regular CSS, you have no idea when a class/ID might be used.
  • derekhong 1 hour ago
    [flagged]
  • FDEUp 53 minutes ago
    [dead]
  • lioeters 20 minutes ago
    Do we really want functions in CSS? I guess that ship has sailed a while ago, since CSS reached Turing completeness.

      /* Define a function: */
      @function --gradient-to-transparent(--color, --direction: bottom) {
        result: linear-gradient(
          to var(--direction),
          var(--color),
          transparent;
        );
      }
    
    Why not provide better integration with JavaScript, to make this kind of acrobatics unnecessary.
    • afavour 11 minutes ago
      Because JavaScript requires… a lot. A virtual machine, script parsing, etc. Making that a requirement before you even display any content on the page would be a regression.
      • dlcarrier 1 minute ago
        If CSS is Turing complete, that means it has a virtual machine with parsing and so forth. That means that difference between it and JavaScript is just syntax. (Same for any Turing complete language)
      • lioeters 5 minutes ago
        I can see that, but CSS already requires a lot, no? Especially as they keep adding new features to it.

        To me it feels like "programming in YAML", the way a declarative language/format acquires more and more features until you're writing functions in an awkward syntax that was never designed for it.