grid-template-areas feature. It makes you able to define layout areas and to associate the HTML element with specific layout parts.
Lets try to build following layout with css grid:
First lets divide the layout to the parts that will explain how much rows and columns each element will occupy:
.container{
...
grid-template-areas:
"nav header"
"nav main"
"nav footer";
}
Now We only need to 'explain' to each element - what the area
it should belong to:
header{
grid-area:header;
}
Clear and simple: