CSS Grid Layout provides powerful tools for positioning and aligning grid items within a grid, as well as spanning items across multiple grid cells. In this post, we will explore how to work with grid items and grid areas in CSS Grid Layout.
By default, grid items are placed in the order they appear in the HTML markup. However, you can control their placement using the grid-row
and grid-column
properties. These properties allow you to specify which grid rows and columns a grid item should occupy.
For example, to place a grid item in the second row and third column, you can use the following CSS code:
.grid-item {
grid-row: 2;
grid-column: 3;
}
You can also use named lines or line numbers to specify the start and end positions of a grid item within the grid. For example:
.grid-item {
grid-row-start: 2;
grid-row-end: 4;
grid-column-start: 1;
grid-column-end: 3;
}
CSS Grid Layout provides properties for aligning grid items both horizontally and vertically within their grid cells.
To horizontally align grid items, you can use the justify-self
property. By default, grid items are horizontally aligned to the start of their grid cell. However, you can change this alignment using values like start
, end
, center
, stretch
, or baseline
.
Similarly, to vertically align grid items, you can use the align-self
property. Again, grid items are vertically aligned to the start of their grid cell by default, but you can change this alignment using values like start
, end
, center
, stretch
, or baseline
.
.grid-item {
justify-self: start;
align-self: center;
}
In addition to positioning and aligning grid items individually, you can also span them across multiple grid cells. This is done using the grid-row-start
, grid-row-end
, grid-column-start
, and grid-column-end
properties.
To span a grid item across multiple rows or columns, you can simply use line numbers or named lines to define the start and end positions. For example, to span a grid item across the second and third rows, you can use:
.grid-item {
grid-row-start: 2;
grid-row-end: 4;
}
Similarly, to span a grid item across the third and fourth columns, you can use:
.grid-item {
grid-column-start: 3;
grid-column-end: 5;
}
Working with grid items and grid areas in CSS Grid Layout gives you a lot of control over the layout of your webpage. By using properties like grid-row
, grid-column
, justify-self
, align-self
, and the grid spanning properties, you can create complex and highly customizable grid layouts. Experiment with different combinations to achieve the desired layout for your website.