CSS Grid: Reduce Repetition Using the repeat Function
When we used
Lets say you want a grid with 100 rows of the same height. It isn't very practical to insert 100 values individually. Fortunately, there's a better way - by using the
this will be translated to :
original code
same output
source
grid-template-columns and grid-template-rows to define the structure of a grid, you entered a value for each row or column you created.Lets say you want a grid with 100 rows of the same height. It isn't very practical to insert 100 values individually. Fortunately, there's a better way - by using the
repeat function to specify the
number of times you want your column or row to be repeated, followed by a
comma and the value you want to repeat.
Here's an example that would create the 100 row grid, each row at 50px tall.
grid-template-rows: repeat(100, 50px);
You can also repeat multiple values with the repeat
function, and insert the function amongst other values when defining a
grid structure. Here's what I mean:
grid-template-columns: repeat(2, 1fr 50px) 20px;
grid-template-columns:1fr 50px 1fr 50px 20px;
1fr 50px is repeated twice followed by 20px.
1
2
3
4
5
<style> .item1{background:LightSkyBlue;} .item2{background:LightSalmon;} .item3{background:PaleTurquoise;} .item4{background:LightPink;} .item5{background:PaleGreen;} .container { font-size: 40px; min-height: 300px; width: 100%; background: LightGray; display: grid; grid-template-columns: repeat(3 ,1fr ); grid-template-rows: repeat(3 ,1fr ); grid-gap: 10px; } </style> <div class="container"> <div class="item1">1</div> <div class="item2">2</div> <div class="item3">3</div> <div class="item4">4</div> <div class="item5">5</div> </div>
original code
<style> .item1{background:LightSkyBlue;} .item2{background:LightSalmon;} .item3{background:PaleTurquoise;} .item4{background:LightPink;} .item5{background:PaleGreen;} .container { font-size: 40px; min-height: 300px; width: 100%; background: LightGray; display: grid; grid-template-columns:1fr 1fr 1fr; grid-template-rows:1fr 1fr 1fr; grid-gap: 10px; } </style> <div class="container"> <div class="item1">1</div> <div class="item2">2</div> <div class="item3">3</div> <div class="item4">4</div> <div class="item5">5</div> </div>
1
2
3
4
5
source
Comments
Post a Comment