The grid-row-end property

The grid-row-end property specifies an ending position of an element in a grid by rows. The property value can be a positive or negative number. If we specify a positive number, then the start position of the element is counted from top to bottom. If you specify a negative number, the element will be placed in the reverse order, i.e. from bottom to top.

Syntax

cssselector {
  grid-row-end: positive or negative number;
}

Example

Let's give the elements in the grid ending positions:

html<div id="parent">
  <div id="elem1">1</div>
  <div id="elem2">2</div>
  <div id="elem3">3</div>
</div>
css#parent {
  display: grid;
  padding: 10px;
  width: 400px;
  border: 2px solid #696989;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}
#elem1 {
  grid-row-start: 1;
  grid-row-end: 2;
}
#elem2 {
  grid-row-start: 2;
  grid-row-end: 3;
}
#elem3 {
  grid-row-start: 3;
  grid-row-end: 4;
}

Результат:

Example

Let's make the first block occupy two rows:

html<div id="parent">
  <div id="elem1">1</div>
  <div id="elem2">2</div>
  <div id="elem3">3</div>
</div>
css#parent {
  display: grid;
  grid-template-columns: 2fr 1fr;
  height: 300px;
  width: 400px;
  padding: 10px;
  border: 2px solid #696989;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}
#elem1 {
  grid-row-start: 1;
  grid-row-end: 3;
}
#elem2 {
  grid-row-start: 1;
  grid-row-end: 2;
}
#elem3 {
  grid-row-start: 2;
  grid-row-end: 3;
}

Результат:

Example

Now let's assign the fourth block three rows:

html<div id="parent">
  <div id="elem1">1</div>
  <div id="elem2">2</div>
  <div id="elem3">3</div>
  <div id="elem4">4</div>
</div>
css#parent {
  display: grid;
  grid-template-columns: 2fr 1fr;
  height: 300px;
  width: 400px;
  padding: 10px;
  border: 2px solid #696989;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}
#elem1 {
  grid-row-start: 1;
  grid-row-end: 2;
}
#elem2 {
  grid-row-start: 2;
  grid-row-end: 3;
}
#elem3 {
  grid-row-start: 3;
  grid-row-end: 4;
}
#elem4 {
  grid-row-start: 1;
  grid-row-end: 4;
}

Результат:

Example

Now let’s specify negative numbers in the grid-row-start and grid-row-end properties. Now elem3 will occupy the top row, and elem1 will occupy the bottom row:

html<div id="parent">
  <div id="elem1">1</div>
  <div id="elem2">2</div>
  <div id="elem3">3</div>
</div>
css#parent {
  display: grid;
  padding: 10px;
  width: 400px;
  border: 2px solid #696989;
}
#parent > div {
  padding: 10px;
  border: 1px solid #696989;
}
#elem1 {
  grid-row-start: -1;
  grid-row-end: -2;
}
#elem2 {
  grid-row-start: -2;
  grid-row-end: -3;
}
#elem3 {
  grid-row-start: -3;
  grid-row-end: -4;
}

Результат:

See also

  • the grid-row-start property
    that specifies a starting position of an element in a grid by rows
  • the grid-row property
    that specifies a starting and ending positions of an element in a grid by rows
  • the grid-template-rows property
    that specifies a number and width of rows in a grid
  • the grid-auto-rows property
    that specifies a number and width of rows in an implicitly-created grid