I have been building web layouts since the table layout era, through the float era, through flexbox, and now CSS Grid. Each transition felt like relief after struggle. CSS Grid felt like the end of a war.
The story of web layout is the story of using tools for purposes they were not designed for. Tables were for tabular data; we used them for page layout. Floats were for wrapping text around images; we used them for columns. Flexbox was genuinely designed for layout, but only in one dimension at a time.
CSS Grid was designed from the start for two-dimensional layout. Rows and columns. The ability to place items precisely in a grid, to span multiple rows or columns, to define named areas, to have auto-placement that intelligently fills gaps. All of this is what we had been hacking at with other tools for fifteen years.
The specification had been in development for years, which meant browser implementations were highly consistent when they finally shipped. Chrome 57 and Firefox 52, both released in March 2017, shipped grid with no prefix needed. Safari followed closely. The transition to CSS Grid in production was faster than any previous CSS feature because there was no messy vendor prefix period and browser support arrived almost simultaneously.
The practical impact was significant. Layouts that had required JavaScript to achieve, or complex nested flexbox structures, or absolute positioning hacks, could now be expressed in a few lines of CSS. The "holy grail" layout (header, two sidebars, main content, footer) was a single-page interview question about CSS layout for years because it was genuinely hard. With CSS Grid, it was trivial.
Named grid areas made CSS layouts readable in a way they never had been before. You could look at the CSS and immediately understand the structure of the page without reading the HTML.
The combination of flexbox (for component-level layout) and grid (for page-level layout) has become the standard approach. Flexbox handles alignment within components: centre this icon with this text, spread these buttons evenly. Grid handles the overall page structure: position this sidebar next to this main area, with a header above both.
What CSS Grid changed was not just the technical capability but the mental model. Designers could now design layouts that the web could actually implement. The constraints that had shaped web design for fifteen years, the reason everything was either horizontal or vertical and two-dimensional layouts required tricks, went away. The web became more capable at the same moment it became more honest about what it was.