<i>CSS is a complete utter crap that failed to solve the problems for which it exists. Today CSS is a broken tool that still can&#x27;t easily be used to design even the most basic layout without requiring a ton of hacks.</i><p>I don&#x27;t agree with this. CSS is a warty tool with a mixed background, but modern CSS is pretty effective and pleasant to use, especially when combined with a preprocessor.<p><i>A broken box model</i><p>The W3C box is counter-intuitive, but bear in mind that nobody really expected CSS to be used for layout at the point it was initially selected, so I doubt it was considered that important. And in any case, it&#x27;s fixed now, with box-sizing supported by like 98% of browsers globally.<p><i>Centering things? You have to use hacks even for this simple purpose.</i><p>No you don&#x27;t. There are well-documented, consistent ways to centre in CSS. Vertical entering used to be difficult (for obvious reasons), but now we&#x27;ve got flexbox which solves that problem entirely.<p><i>Building grids? Let&#x27;s have fun and pick the one you prefer</i><p>These all do different things and have different characteristics  – so you can pick the one that most suited.<p><i>Qo we got offered the option to emulate html tables in CSS.</i><p>Not quite – we got the ability to build visually-table-like things that use table layout rules, but separated them from the semantic implication of tables. That&#x27;s a good thing.<p><i>They added CSS animations. What animations have to do with styling and layout?</i><p>Animations are just the time axis of layout. It makes much more sense to define them and the transitions between them declaratively using CSS.<p><i>Etc, etc, etc. CSS is just a complete mess.</i><p>In contrast, I find that CSS is mostly a bit of a scapegoat. Sure, it&#x27;s taken a while to become a comprehensive layout and styling tool – but combined with something like SASS, I absolutely love writing CSS.