display: grid;
grid-template-columns
grid-template-rows
grid-column and
grid-row
.container {
display: grid | inline-grid;
}
.container {
grid-template-columns: 40px 50px auto 50px 40px;
grid-template-rows: 25% 100px auto;
}
.container {
grid-template-columns: repeat(3, 20px [col-start]);
}
fr
unit
.container {
grid-template-columns: 1fr 1fr 1fr;
}
.item-a {
grid-area: header;
}
.item-b {
grid-area: main;
}
.item-c {
grid-area: sidebar;
}
.item-d {
grid-area: footer;
}
.container {
display: grid;
grid-template-columns: 50px 50px 50px 50px;
grid-template-rows: auto;
grid-template-areas:
"header header header header"
"main main . sidebar"
"footer footer footer footer";
}
.container {
grid-template: none | <grid-template-rows> / <grid-template-columns>;
}
.container {
grid-template:
[row1-start] "header header header" 25px [row1-end]
[row2-start] "footer footer footer" 25px [row2-end]
/ auto 50px auto;
}
.container {
grid-column-gap: <line-size>;
grid-row-gap: <line-size>;
}
.container {
grid-gap: <grid-row-gap> <grid-column-gap>;
}
.container {
justify-items: start | end | center | stretch;
}
.container {
align-items: start | end | center | stretch;
}
.container {
justify-content: start | end | center | stretch | space-around | space-between | space-evenly;
}
.container {
align-content: start | end | center | stretch | space-around | space-between | space-evenly;
}
.container {
grid-auto-columns: <track-size> ...;
grid-auto-rows: <track-size> ...;
}
.container {
grid-auto-flow: row | column | row dense | column dense;
}
.container {
grid-template-rows: 100px 300px;
grid-auto-flow: column;
grid-auto-columns: 200px;
}
.container {
grid: 100px 300px / auto-flow 200px;
}
.item {
grid-column-start: <number> | <name> | span <number> | span <name> | auto;
grid-column-end: <number> | <name> | span <number> | span <name> | auto;
grid-row-start: <number> | <name> | span <number> | span <name> | auto;
grid-row-end: <number> | <name> | span <number> | span <name> | auto;
}
.item-a {
grid-column-start: 2;
grid-column-end: five;
grid-row-start: row1-start;
grid-row-end: 3;
}
.item {
grid-column: <start-line> / <end-line> | <start-line> / span <value>;
grid-row: <start-line> / <end-line> | <start-line> / span <value>;
}
.item {
grid-area: <name> | <row-start> / <column-start> / <row-end> / <column-end>;
}
.item {
justify-self: start | end | center | stretch;
}
.item {
align-self: start | end | center | stretch;
}
.item-a {
place-self: center;
}
Header
Menu
Main
Right
Footer
.item1 { grid-area: header; }
.item2 { grid-area: menu; }
.item3 { grid-area: main; }
.item4 { grid-area: right; }
.item5 { grid-area: footer; }
.grid-container {
display: grid;
grid-template-areas:
'header header header header header header'
'menu main main main right right'
'menu footer footer footer footer footer';
grid-gap: 10px;
background-color: #2196F3;
padding: 10px;
}