* fix(curriculum): tests quotes * fix(curriculum): fill seed-teardown * fix(curriculum): fix tests and remove unneeded seed-teardown
		
			
				
	
	
		
			91 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| id: 5a94fe3669fb03452672e45f
 | |
| title: Reduce Repetition Using the repeat Function
 | |
| challengeType: 0
 | |
| videoUrl: 'https://scrimba.com/p/pByETK/cQvqyHR'
 | |
| ---
 | |
| 
 | |
| ## Description
 | |
| <section id='description'>
 | |
| When you used <code>grid-template-columns</code> and <code>grid-template-rows</code> 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 <code>repeat</code> 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.
 | |
| <blockquote>grid-template-rows: repeat(100, 50px);</blockquote>
 | |
| 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:
 | |
| <blockquote>grid-template-columns: repeat(2, 1fr 50px) 20px;</blockquote>
 | |
| This translates to:
 | |
| <blockquote>grid-template-columns: 1fr 50px 1fr 50px 20px;</blockquote>
 | |
| <strong>Note</strong><br><code>1fr 50px</code> is repeated twice followed by 20px.
 | |
| </section>
 | |
| 
 | |
| ## Instructions
 | |
| <section id='instructions'>
 | |
| Use <code>repeat</code> to remove repetition from the <code>grid-template-columns</code> property.
 | |
| </section>
 | |
| 
 | |
| ## Tests
 | |
| <section id='tests'>
 | |
| 
 | |
| ```yml
 | |
| tests:
 | |
|   - text: <code>container</code> class should have a <code>grid-template-columns</code> property that is set to repeat 3 columns with the width of <code>1fr</code>.
 | |
|     testString: assert(code.match(/.container\s*?{[\s\S]*grid-template-columns\s*?:\s*?repeat\s*?\(\s*?3\s*?,\s*?1fr\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 width of <code>1fr</code>.');
 | |
| 
 | |
| ```
 | |
| 
 | |
| </section>
 | |
| 
 | |
| ## Challenge Seed
 | |
| <section id='challengeSeed'>
 | |
| 
 | |
| <div id='html-seed'>
 | |
| 
 | |
| ```html
 | |
| <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: 1fr 1fr 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>
 | |
| ```
 | |
| 
 | |
| </div>
 | |
| 
 | |
| 
 | |
| 
 | |
| </section>
 | |
| 
 | |
| ## Solution
 | |
| <section id='solution'>
 | |
| 
 | |
| 
 | |
| ```js
 | |
| var code = ".container {grid-template-columns: repeat(3, 1fr);}"
 | |
| ```
 | |
| 
 | |
| </section>
 |