
The CSS grid property is a shorthand property for:
- grid-template-rows
- grid-template-columns
- grid-template-areas
- grid-auto-rows
- grid-auto-columns
- grid-auto-flow
Syntax:
grid: none|grid-template-rows / grid-template-columns|grid-template-areas|grid-template-rows / [grid-auto-flow] grid-auto-columns|[grid-auto-flow] grid-auto-rows / grid-template-columns
none (default) – no specific sizing of the columns or rows.
grid-template-rows / grid-template-columns – defines the size(s) of the columns and rows.
grid-template-areas – defines the grid layout using named items.
grid-auto-rows / grid-template-columns – defines the auto size of the rows, and sets the grid-template-columns property.
grid-template-rows / grid-auto-flow grid-auto-columns – defines the size (height) of the rows, and how to place auto-placed items, and the auto-size of the columns.
grid-auto-flow grid-auto-rows /grid-template-columns – defines how to place auto-placed items, and the auto-size of the rows, and sets the grid-template-columns property.
Example1:
<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
display: grid;
grid: 75px / auto auto auto;
grid-gap: 10px;
background-color: #e9c46a;
padding: 10px;
}
.grid-container > div {
background-color: #f4a261;
text-align: center;
padding: 20px 0;
font-size: 30px;
}
</style>
</head>
<body>
<div class="grid-container">
<div class="item1">1</div>
<div class="item2">2</div>
<div class="item3">3</div>
<div class="item4">4</div>
<div class="item5">5</div>
<div class="item6">6</div>
</div>
</body>
</html>
Output:
Example2:
<!DOCTYPE html>
<html>
<head>
<style>
.item-1 { grid-area: header; }
.item-2 { grid-area: menu; }
.item-3 { grid-area: main; }
.item-4 { grid-area: side; }
.item-5 { grid-area: footer; }
.grid-container1 {
display: grid;
grid:
'header header header header header header'
'menu main main main side side'
'menu footer footer footer footer footer';
grid-gap: 10px;
background-color: #e9c46a;
padding: 10px;
}
.grid-container1 > div {
background-color: #f4a261;
text-align: center;
padding: 20px 0;
font-size: 30px;
}
</style>
</head>
<body>
<div class="grid-container1">
<div class="item-1">Header</div>
<div class="item-2">Menu</div>
<div class="item-3">Main</div>
<div class="item-4">Side</div>
<div class="item-5">Footer</div>
</div>
</body>
</html>
Output:
Enjoy coding!
Read also: