CSS grid-auto-rows Property

Description

The grid-auto-rows property sets the size of implicitly created rows in the layout grid container. This property affects only those lines whose size is not explicitly set. To set the size of implicitly created columns in the layout grid container, you can use the grid-auto-columns property.

Initial value
auto
Applies to
Grid containers
Inherited
No
Media
Visual
Computed value
The percentage as specified or the absolute length
Animatable
Yes
CSS Version
CSS3
JavaScript syntax
object.style.gridAutoRows

Syntax

grid-auto-rows: <track-size>+
where 
<track-size> = <track-breadth> | minmax( <inflexible-breadth> , <track-breadth> ) | fit-content( [ <length> | <percentage> ] )
where 
<track-breadth> = <length-percentage> | <flex> | min-content | max-content | auto
<inflexible-breadth> = <length> | <percentage> | min-content | max-content | auto
where 
<length-percentage> = <length> | <percentage>

Values

  • autoThe size of the rows is determined by the size of the container and the size of the contents of the elements in the column. As a maximum, it is identical to the value of max-content , but at least it represents the largest minimum size. Automatic row sizes can be stretched using align-content properties and justify-content. This is the default value.
  • length / percentageSpecifies the size of implicitly generated strings using a valid length value, or a percentage value. The value must be positive.
  • flexNon-negative value in "flexible" units of measure fr ( fractional unit ). Each implicitly created row occupies a part of the remaining space in the container of the layout grid in proportion to the specified coefficient. For example, when using the value 1fr 2fr , implicitly generated lines will occupy ⅓ and ⅔ of the remaining space, respectively. The total size of such rows or columns is subtracted from the available space, which gives the remaining space, which is then divided between the rows and columns of flexible size in proportion to their coefficient. Values ​​between 0fr and 1fr have somewhat special behavior, when the sum of the coefficients is less than 1, they will occupy less than 100% of the remaining space. When the available space is infinite (the width or height of the container of the layout grid is undefined), the size of the lines of the grid of flexible size is determined by their contents while maintaining the appropriate proportions.
  • max-contentA keyword that sets the size of each row based on the largest element in the row.
  • min-contentA keyword that sets the size of each row based on the smallest element in the row.
  • minmax (min, max)Functional notation that defines a range of sizes greater than or equal to min and less than or equal to max . If max is less than min , then max is ignored, and the function is treated as min . The value in "flexible" units of measurement as the maximum value sets the coefficient of flexibility of the line, this is unacceptable to determine the minimum.
  • fit-content (length | percentage)This is the formula min (max-content, max (auto, argument)) , which is calculated by analogy with auto (that is, minmax (auto, max-content) ), except that the size of the string is clamped by the argument value, if it is larger than the automatic minimum.

Example

<div class="grid-container">
<div class="item-a">A</div>
<div class="item-b">B</div>
<div>C</div>
<div>D</div>
<div>E</div>
<div>F</div>
</div>
<div class="grid-container2">
<div class="item-a">A</div>
<div class="item-b">B</div>
<div>C</div>
<div>D</div>
<div>E</div>
<div>F</div>
</div>
.grid-container,
.grid-container2 {
   display: grid;
   margin-top: 5px; 
   padding: 10px; 
   background: rgb(0,150,208);
}
.grid-container > div,
.grid-container2 > div { 
   background: rgb(241,101,41); 
   border: 1px solid #000;
   text-align: center; 
} 
.grid-container {
   grid-template-columns: 50% 50%;
   grid-template-rows: 20px 20px;
   grid-auto-rows: 40px;
}
.grid-container2 {
   grid-template-columns: 50% 50%;
   grid-template-rows: 20px 20px; 
   grid-auto-rows: 25px 65px; 
}
.item-a {
   grid-row: 3 / 4;
   background: red !important;
}
.item-b {
   grid-row: 4 / 5; 
   background: yellow !important;
}

Browser Support

Desktop
Explorer Edge Chrome Firefox Opera Safari
101657524410.1
Tablets / Mobile
Android Chrome Firefox Opera Safari Samsung
5757524310.36.0