Flash cards
Review the key moves
What is the main idea behind CSS Grid Layout?
Lesson checks
Practice each idea before moving on
Short Mimo-style checks built from this lesson's code, terms, and sequence.
Which statement best captures the main point of this lesson?
Complete the missing token from the example code.
.___ {Put the learning moves in the order that makes the concept easiest to apply.
CSS Grid Layout Module
The Grid Layout Module offers a grid-based layout system, with rows and columns.
The Grid Layout Module allows developers to easily create complex web layouts.
The Grid Layout Module makes it easy to design a responsive layout structure, without using float or positioning.
Lorem Ipsum
Lorem ipsum odor amet, consectetuer adipiscing elit. Ridiculus sit nisl laoreet facilisis aliquet. Potenti dignissim litora eget montes rhoncus sapien neque urna. Cursus libero sapien integer magnis ligula lobortis quam ut.
Grid vs. Flexbox
CSS Grid is used for two-dimensional layout, with rows AND columns.
CSS Flexbox is used for one-dimensional layout, with rows OR columns.
CSS Grid Components
A grid always consists of
- A Grid Container - The parent (container) element, where the display property is set to grid or inline-grid
- One or more Grid Items - The direct children of the grid container automatically becomes grid items
A Grid Container with Five Grid Items
The element below represents a grid container (the blue area) with five grid items .
Example
<html>
<head>
<style>
.container {
display: grid;
grid-template-columns: auto auto auto;
background-color: dodgerblue;
padding: 10px;
}
.container div {
background-color: #f1f1f1;
border: 1px solid black;
padding: 10px;
font-size: 30px;
text-align: center;
}
</style>
</head>
<body>
<div class="container">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
</div>
</body>
</html>Live preview
Note
You will learn more about grid containers and grid items in the next chapters.
All CSS Grid Properties
| Property | Description |
|---|---|
| align-content | Vertically aligns the whole grid inside the container (when total grid size is smaller than container) |
| align-items | Specifies the default alignment for items inside a flexbox or grid container |
| align-self | Aligns the content for a specific grid item along the column axis |
| display | Specifies the display behavior (the type of rendering box) of an element |
| column-gap | Specifies the gap between the columns |
| gap | A shorthand property for the row-gap and the column-gap properties |
| grid | A shorthand property for the grid-template-rows, grid-template-columns, grid-template-areas, grid-auto-rows, grid-auto-columns , and the grid-auto-flow properties |
| grid-area | Either specifies a name for the grid item, or this property is a shorthand property for the grid-row-start , grid-column-start , grid-row-end , and grid-column-end properties |
| grid-auto-columns | Specifies a default column size |
| grid-auto-flow | Specifies how auto-placed items are inserted in the grid |
| grid-auto-rows | Specifies a default row size |
| grid-column | A shorthand property for the grid-column-start and the grid-column-end properties |
| grid-column-end | Specifies where to end the grid item |
| grid-column-start | Specifies where to start the grid item |
| grid-row | A shorthand property for the grid-row-start and the grid-row-end properties |
| grid-row-end | Specifies where to end the grid item |
| grid-row-start | Specifies where to start the grid item |
| grid-template | A shorthand property for the grid-template-rows , grid-template-columns and grid-areas properties |
| grid-template-areas | Specifies how to display columns and rows, using named grid items |
| grid-template-columns | Specifies the size of the columns, and how many columns in a grid layout |
| grid-template-rows | Specifies the size of the rows in a grid layout |
| justify-content | Horizontally aligns the whole grid inside the container (when total grid size is smaller than container) |
| justify-self | Aligns the content for a specific grid item along the row axis |
| place-self | A shorthand property for the align-self and the justify-self properties |
| place-content | A shorthand property for the align-content and the justify-content properties |
| row-gap | Specifies the gap between the grid rows |