bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/CSS/Modern Layout
CSS•Modern Layout

CSS Grid Layout

Flash cards

Review the key moves

1/4
Core idea

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.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

.___ {
3Order

Put the learning moves in the order that makes the concept easiest to apply.

A Grid Container with Five Grid Items
CSS Grid Components
CSS Grid Layout Module

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

Formatted code
  <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

PropertyDescription
align-contentVertically aligns the whole grid inside the container (when total grid size is smaller than container)
align-itemsSpecifies the default alignment for items inside a flexbox or grid container
align-selfAligns the content for a specific grid item along the column axis
displaySpecifies the display behavior (the type of rendering box) of an element
column-gapSpecifies the gap between the columns
gapA shorthand property for the row-gap and the column-gap properties
gridA 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-areaEither 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-columnsSpecifies a default column size
grid-auto-flowSpecifies how auto-placed items are inserted in the grid
grid-auto-rowsSpecifies a default row size
grid-columnA shorthand property for the grid-column-start and the grid-column-end properties
grid-column-endSpecifies where to end the grid item
grid-column-startSpecifies where to start the grid item
grid-rowA shorthand property for the grid-row-start and the grid-row-end properties
grid-row-endSpecifies where to end the grid item
grid-row-startSpecifies where to start the grid item
grid-templateA shorthand property for the grid-template-rows , grid-template-columns and grid-areas properties
grid-template-areasSpecifies how to display columns and rows, using named grid items
grid-template-columnsSpecifies the size of the columns, and how many columns in a grid layout
grid-template-rowsSpecifies the size of the rows in a grid layout
justify-contentHorizontally aligns the whole grid inside the container (when total grid size is smaller than container)
justify-selfAligns the content for a specific grid item along the row axis
place-selfA shorthand property for the align-self and the justify-self properties
place-contentA shorthand property for the align-content and the justify-content properties
row-gapSpecifies the gap between the grid rows

Previous

CSS Flexbox

Next

Responsive Web Design