CSS GridLesson #181

CSS Grid

The Grid Layout Module offers a grid-based layout system, with rows and columns.

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.

My Header

Link 1Link 2Link 3

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.

Footer

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.

1 2 3 4 5

Example

Example Code

html
Try it Yourself
Live Output 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

Interactive Code Examples

CSS Example 1

html
Try it Yourself
Interactive runnable CSS example from EA Academy.
Live Output Preview: