* fix(curriculum) replace single-line block with multi-line blocks * fix(curriculum) replace single-line block with multi-line blocks (missed blocks)
		
			
				
	
	
		
			176 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			176 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| id: bad87fee1348bd9aedf08807
 | |
| title: Import a Google Font
 | |
| challengeType: 0
 | |
| videoUrl: 'https://scrimba.com/c/cM9MRsJ'
 | |
| forumTopicId: 18200
 | |
| dashedName: import-a-google-font
 | |
| ---
 | |
| 
 | |
| # --description--
 | |
| 
 | |
| In addition to specifying common fonts that are found on most operating systems, we can also specify non-standard, custom web fonts for use on our website. There are many sources for web fonts on the Internet. For this example we will focus on the Google Fonts library.
 | |
| 
 | |
| [Google Fonts](https://fonts.google.com/) is a free library of web fonts that you can use in your CSS by referencing the font's URL.
 | |
| 
 | |
| So, let's go ahead and import and apply a Google font (note that if Google is blocked in your country, you will need to skip this challenge).
 | |
| 
 | |
| To import a Google Font, you can copy the font's URL from the Google Fonts library and then paste it in your HTML. For this challenge, we'll import the `Lobster` font. To do this, copy the following code snippet and paste it into the top of your code editor (before the opening `style` element):
 | |
| 
 | |
| ```html
 | |
| <link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">
 | |
| ```
 | |
| 
 | |
| Now you can use the `Lobster` font in your CSS by using `Lobster` as the FAMILY_NAME as in the following example:
 | |
| 
 | |
| ```css
 | |
| font-family: FAMILY_NAME, GENERIC_NAME;
 | |
| ```
 | |
| 
 | |
| The GENERIC_NAME is optional, and is a fallback font in case the other specified font is not available. This is covered in the next challenge.
 | |
| 
 | |
| Family names are case-sensitive and need to be wrapped in quotes if there is a space in the name. For example, you need quotes to use the `"Open Sans"` font, but not to use the `Lobster` font.
 | |
| 
 | |
| # --instructions--
 | |
| 
 | |
| Import the `Lobster` font to your web page. Then, use an element selector to set `Lobster` as the `font-family` for your `h2` element.
 | |
| 
 | |
| # --hints--
 | |
| 
 | |
| You should import the `Lobster` font.
 | |
| 
 | |
| ```js
 | |
| assert(new RegExp('googleapis', 'gi').test(code));
 | |
| ```
 | |
| 
 | |
| Your `h2` element should use the font `Lobster`.
 | |
| 
 | |
| ```js
 | |
| assert(
 | |
|   $('h2')
 | |
|     .css('font-family')
 | |
|     .match(/lobster/i)
 | |
| );
 | |
| ```
 | |
| 
 | |
| You should only use an `h2` element selector to change the font.
 | |
| 
 | |
| ```js
 | |
| assert(
 | |
|   /\s*[^\.]h2\s*\{\s*font-family\:\s*(['"]?)Lobster\1\s*(;\s*\}|\})/gi.test(
 | |
|     code
 | |
|   )
 | |
| );
 | |
| ```
 | |
| 
 | |
| Your `p` element should still use the font `monospace`.
 | |
| 
 | |
| ```js
 | |
| assert(
 | |
|   $('p')
 | |
|     .css('font-family')
 | |
|     .match(/monospace/i)
 | |
| );
 | |
| ```
 | |
| 
 | |
| # --seed--
 | |
| 
 | |
| ## --seed-contents--
 | |
| 
 | |
| ```html
 | |
| <style>
 | |
|   .red-text {
 | |
|     color: red;
 | |
|   }
 | |
| 
 | |
|   p {
 | |
|     font-size: 16px;
 | |
|     font-family: monospace;
 | |
|   }
 | |
| </style>
 | |
| 
 | |
| <h2 class="red-text">CatPhotoApp</h2>
 | |
| <main>
 | |
|   <p class="red-text">Click here to view more <a href="#">cat photos</a>.</p>
 | |
| 
 | |
|   <a href="#"><img src="https://bit.ly/fcc-relaxing-cat" alt="A cute orange cat lying on its back."></a>
 | |
| 
 | |
|   <div>
 | |
|     <p>Things cats love:</p>
 | |
|     <ul>
 | |
|       <li>cat nip</li>
 | |
|       <li>laser pointers</li>
 | |
|       <li>lasagna</li>
 | |
|     </ul>
 | |
|     <p>Top 3 things cats hate:</p>
 | |
|     <ol>
 | |
|       <li>flea treatment</li>
 | |
|       <li>thunder</li>
 | |
|       <li>other cats</li>
 | |
|     </ol>
 | |
|   </div>
 | |
| 
 | |
|   <form action="https://freecatphotoapp.com/submit-cat-photo">
 | |
|     <label><input type="radio" name="indoor-outdoor" checked> Indoor</label>
 | |
|     <label><input type="radio" name="indoor-outdoor"> Outdoor</label><br>
 | |
|     <label><input type="checkbox" name="personality" checked> Loving</label>
 | |
|     <label><input type="checkbox" name="personality"> Lazy</label>
 | |
|     <label><input type="checkbox" name="personality"> Energetic</label><br>
 | |
|     <input type="text" placeholder="cat photo URL" required>
 | |
|     <button type="submit">Submit</button>
 | |
|   </form>
 | |
| </main>
 | |
| ```
 | |
| 
 | |
| # --solutions--
 | |
| 
 | |
| ```html
 | |
| <link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">
 | |
| <style>
 | |
|   .red-text {
 | |
|     color: red;
 | |
|   }
 | |
| 
 | |
|   p {
 | |
|     font-size: 16px;
 | |
|     font-family: monospace;
 | |
|   }
 | |
| 
 | |
|   h2 {
 | |
|     font-family: Lobster;
 | |
|   }
 | |
| </style>
 | |
| 
 | |
| <h2 class="red-text">CatPhotoApp</h2>
 | |
| <main>
 | |
|   <p class="red-text">Click here to view more <a href="#">cat photos</a>.</p>
 | |
| 
 | |
|   <a href="#"><img src="https://bit.ly/fcc-relaxing-cat" alt="A cute orange cat lying on its back."></a>
 | |
| 
 | |
|   <div>
 | |
|     <p>Things cats love:</p>
 | |
|     <ul>
 | |
|       <li>cat nip</li>
 | |
|       <li>laser pointers</li>
 | |
|       <li>lasagna</li>
 | |
|     </ul>
 | |
|     <p>Top 3 things cats hate:</p>
 | |
|     <ol>
 | |
|       <li>flea treatment</li>
 | |
|       <li>thunder</li>
 | |
|       <li>other cats</li>
 | |
|     </ol>
 | |
|   </div>
 | |
| 
 | |
|   <form action="https://freecatphotoapp.com/submit-cat-photo">
 | |
|     <label><input type="radio" name="indoor-outdoor" checked> Indoor</label>
 | |
|     <label><input type="radio" name="indoor-outdoor"> Outdoor</label><br>
 | |
|     <label><input type="checkbox" name="personality" checked> Loving</label>
 | |
|     <label><input type="checkbox" name="personality"> Lazy</label>
 | |
|     <label><input type="checkbox" name="personality"> Energetic</label><br>
 | |
|     <input type="text" placeholder="cat photo URL" required>
 | |
|     <button type="submit">Submit</button>
 | |
|   </form>
 | |
| </main>
 | |
| ```
 |