2.6 KiB
2.6 KiB
id | title | challengeType | videoUrl |
---|---|---|---|
5a94fe4469fb03452672e460 | Limit Item Size Using the minmax Function | 0 | https://scrimba.com/p/pByETK/cD97RTv |
Description
grid-template-columns
and grid-template-rows
called minmax
. It's used to limit the size of items when the grid container changes size. To do this you need to specify the acceptable size range for your item. Here is an example:
grid-template-columns: 100px minmax(50px, 200px);In the code above,
grid-template-columns
is set to create two columns; the first is 100px wide, and the second has the minimum width of 50px and the maximum width of 200px.
Instructions
minmax
function, replace the 1fr
in the repeat
function with a column size that has the minimum width of 90px
and the maximum width of 1fr
, and resize the preview panel to see the effect.
Tests
tests:
- text: <code>container</code> class should have a <code>grid-template-columns</code> property that is set to repeat 3 columns with the minimum width of <code>90px</code> and maximum width of <code>1fr</code>.
testString: assert(code.match(/.container\s*?{[\s\S]*grid-template-columns\s*?:\s*?repeat\s*?\(\s*?3\s*?,\s*?minmax\s*?\(\s*?90px\s*?,\s*?1fr\s*?\)\s*?\)\s*?;[\s\S]*}/gi), '<code>container</code> class should have a <code>grid-template-columns</code> property that is set to repeat 3 columns with the minimum width of <code>90px</code> and maximum width of <code>1fr</code>.');
Challenge Seed
<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;
/* change the code below this line */
grid-template-columns: repeat(3, 1fr);
/* change the code above this line */
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>
Solution
var code = ".container {grid-template-columns: repeat(3, minmax(90px, 1fr));}"