curriculum/challenges/english/blocks/css-grid/5a9036ee38fddaf9a66b5d34.md
You can use absolute and relative units like px and em in CSS Grid to define the size of rows and columns. You can use these as well:
fr: sets the column or row to a fraction of the available space,
auto: sets the column or row to the width or height of its content automatically,
%: adjusts the column or row to the percent width of its container.
Here's the code that generates the output in the preview:
grid-template-columns: auto 50px 10% 2fr 1fr;
This snippet creates five columns. The first column is as wide as its content, the second column is 50px, the third column is 10% of its container, and for the last two columns; the remaining space is divided into three sections, two are allocated for the fourth column, and one for the fifth.
Make a grid with three columns whose widths are as follows: 1fr, 100px, and 2fr.
Your container class should have a grid-template-columns property that has three columns with the following widths: 1fr, 100px, and 2fr.
assert.match(
code,
/.container\s*?{[\s\S]*grid-template-columns\s*?:\s*?1fr\s*?100px\s*?2fr\s*?;[\s\S]*}/gi
);
<style>
.d1 {
background: LightSkyBlue;
}
.d2 {
background: LightSalmon;
}
.d3 {
background: PaleTurquoise;
}
.d4 {
background: LightPink;
}
.d5 {
background: PaleGreen;
}
.container {
font-size: 40px;
width: 100%;
background: LightGray;
display: grid;
/* Only change code below this line */
grid-template-columns: auto 50px 10% 2fr 1fr;
/* Only change code above this line */
grid-template-rows: 50px 50px;
}
</style>
<div class="container">
<div class="d1">1</div>
<div class="d2">2</div>
<div class="d3">3</div>
<div class="d4">4</div>
<div class="d5">5</div>
</div>
<style>
.container {
grid-template-columns: 1fr 100px 2fr;
}
</style>