203 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			203 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| id: bad87fee1348bd9aed908845
 | ||
| title: 給表單輸入框添加樣式
 | ||
| challengeType: 0
 | ||
| forumTopicId: 18312
 | ||
| required:
 | ||
|   - 
 | ||
|     link: >-
 | ||
|       https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.2.0/css/font-awesome.css
 | ||
|     raw: true
 | ||
| dashedName: style-text-inputs-as-form-controls
 | ||
| ---
 | ||
| 
 | ||
| # --description--
 | ||
| 
 | ||
| 可以在 submit `button` 元素內加上 `<i class="fa fa-paper-plane"></i>`,來添加 Font Awesome 的 `fa-paper-plane` 圖標。
 | ||
| 
 | ||
| 爲表單的文本輸入框(text input)設置 `form-control` class。 爲表單的提交(submit)按鈕設置 `btn btn-primary` class, 併爲它加上 Font Awesome 的 `fa-paper-plane` 圖標。
 | ||
| 
 | ||
| 所有文本輸入類的元素如 `<input>`,`<textarea>` 和 `<select>` 只要設置 `.form-control` class 就會佔滿100%的寬度。
 | ||
| 
 | ||
| # --hints--
 | ||
| 
 | ||
| 給你的 submit 按鈕添加 `btn btn-primary` class。
 | ||
| 
 | ||
| ```js
 | ||
| assert($('button[type="submit"]').hasClass('btn btn-primary'));
 | ||
| ```
 | ||
| 
 | ||
| 在你的 submit `button` 元素內添加 `<i class="fa fa-paper-plane"></i>`。
 | ||
| 
 | ||
| ```js
 | ||
| assert($('button[type="submit"]:has(i.fa.fa-paper-plane)').length > 0);
 | ||
| ```
 | ||
| 
 | ||
| 給表單中的 text `input` 元素添加 `form-control` class。
 | ||
| 
 | ||
| ```js
 | ||
| assert($('input[type="text"]').hasClass('form-control'));
 | ||
| ```
 | ||
| 
 | ||
| 確保每一個 `i` 元素都有一個閉合標籤。
 | ||
| 
 | ||
| ```js
 | ||
| assert(code.match(/<\/i>/g) && code.match(/<\/i/g).length > 3);
 | ||
| ```
 | ||
| 
 | ||
| # --seed--
 | ||
| 
 | ||
| ## --seed-contents--
 | ||
| 
 | ||
| ```html
 | ||
| <link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">
 | ||
| <style>
 | ||
|   h2 {
 | ||
|     font-family: Lobster, Monospace;
 | ||
|   }
 | ||
| 
 | ||
|   .thick-green-border {
 | ||
|     border-color: green;
 | ||
|     border-width: 10px;
 | ||
|     border-style: solid;
 | ||
|     border-radius: 50%;
 | ||
|   }
 | ||
| 
 | ||
| </style>
 | ||
| 
 | ||
| <div class="container-fluid">
 | ||
|   <div class="row">
 | ||
|     <div class="col-xs-8">
 | ||
|       <h2 class="text-primary text-center">CatPhotoApp</h2>
 | ||
|     </div>
 | ||
|     <div class="col-xs-4">
 | ||
|       <a href="#"><img class="img-responsive thick-green-border" src="https://cdn.freecodecamp.org/curriculum/cat-photo-app/relaxing-cat.jpg" alt="A cute orange cat lying on its back."></a>
 | ||
|     </div>
 | ||
|   </div>
 | ||
|   <img src="https://cdn.freecodecamp.org/curriculum/cat-photo-app/running-cats.jpg" class="img-responsive" alt="Three kittens running towards the camera.">
 | ||
|   <div class="row">
 | ||
|     <div class="col-xs-4">
 | ||
|       <button class="btn btn-block btn-primary"><i class="fa fa-thumbs-up"></i> Like</button>
 | ||
|     </div>
 | ||
|     <div class="col-xs-4">
 | ||
|       <button class="btn btn-block btn-info"><i class="fa fa-info-circle"></i> Info</button>
 | ||
|     </div>
 | ||
|     <div class="col-xs-4">
 | ||
|       <button class="btn btn-block btn-danger"><i class="fa fa-trash"></i> Delete</button>
 | ||
|     </div>
 | ||
|   </div>
 | ||
|   <p>Things cats <span class="text-danger">love:</span></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>
 | ||
|   <form action="https://freecatphotoapp.com/submit-cat-photo">
 | ||
|     <div class="row">
 | ||
|       <div class="col-xs-6">
 | ||
|         <label><input type="radio" name="indoor-outdoor"> Indoor</label>
 | ||
|       </div>
 | ||
|       <div class="col-xs-6">
 | ||
|         <label><input type="radio" name="indoor-outdoor"> Outdoor</label>
 | ||
|       </div>
 | ||
|     </div>
 | ||
|     <div class="row">
 | ||
|       <div class="col-xs-4">
 | ||
|         <label><input type="checkbox" name="personality"> Loving</label>
 | ||
|       </div>
 | ||
|       <div class="col-xs-4">
 | ||
|         <label><input type="checkbox" name="personality"> Lazy</label>
 | ||
|       </div>
 | ||
|       <div class="col-xs-4">
 | ||
|         <label><input type="checkbox" name="personality"> Crazy</label>
 | ||
|       </div>
 | ||
|     </div>
 | ||
|     <input type="text" placeholder="cat photo URL" required>
 | ||
|     <button type="submit">Submit</button>
 | ||
|   </form>
 | ||
| </div>
 | ||
| ```
 | ||
| 
 | ||
| # --solutions--
 | ||
| 
 | ||
| ```html
 | ||
| <link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">
 | ||
| <style>
 | ||
|   h2 {
 | ||
|     font-family: Lobster, Monospace;
 | ||
|   }
 | ||
| 
 | ||
|   .thick-green-border {
 | ||
|     border-color: green;
 | ||
|     border-width: 10px;
 | ||
|     border-style: solid;
 | ||
|     border-radius: 50%;
 | ||
|   }
 | ||
| 
 | ||
| </style>
 | ||
| 
 | ||
| <div class="container-fluid">
 | ||
|   <div class="row">
 | ||
|     <div class="col-xs-8">
 | ||
|       <h2 class="text-primary text-center">CatPhotoApp</h2>
 | ||
|     </div>
 | ||
|     <div class="col-xs-4">
 | ||
|       <a href="#"><img class="img-responsive thick-green-border" src="https://cdn.freecodecamp.org/curriculum/cat-photo-app/relaxing-cat.jpg" alt="A cute orange cat lying on its back."></a>
 | ||
|     </div>
 | ||
|   </div>
 | ||
|   <img src="https://cdn.freecodecamp.org/curriculum/cat-photo-app/running-cats.jpg" class="img-responsive" alt="Three kittens running towards the camera.">
 | ||
|   <div class="row">
 | ||
|     <div class="col-xs-4">
 | ||
|       <button class="btn btn-block btn-primary"><i class="fa fa-thumbs-up"></i> Like</button>
 | ||
|     </div>
 | ||
|     <div class="col-xs-4">
 | ||
|       <button class="btn btn-block btn-info"><i class="fa fa-info-circle"></i> Info</button>
 | ||
|     </div>
 | ||
|     <div class="col-xs-4">
 | ||
|       <button class="btn btn-block btn-danger"><i class="fa fa-trash"></i> Delete</button>
 | ||
|     </div>
 | ||
|   </div>
 | ||
|   <p>Things cats <span class="text-danger">love:</span></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>
 | ||
|   <form action="https://freecatphotoapp.com/submit-cat-photo">
 | ||
|     <div class="row">
 | ||
|       <div class="col-xs-6">
 | ||
|         <label><input type="radio" name="indoor-outdoor"> Indoor</label>
 | ||
|       </div>
 | ||
|       <div class="col-xs-6">
 | ||
|         <label><input type="radio" name="indoor-outdoor"> Outdoor</label>
 | ||
|       </div>
 | ||
|     </div>
 | ||
|     <div class="row">
 | ||
|       <div class="col-xs-4">
 | ||
|         <label><input type="checkbox" name="personality"> Loving</label>
 | ||
|       </div>
 | ||
|       <div class="col-xs-4">
 | ||
|         <label><input type="checkbox" name="personality"> Lazy</label>
 | ||
|       </div>
 | ||
|       <div class="col-xs-4">
 | ||
|         <label><input type="checkbox" name="personality"> Crazy</label>
 | ||
|       </div>
 | ||
|     </div>
 | ||
|     <input type="text" class="form-control" placeholder="cat photo URL" required>
 | ||
|     <button type="submit" class="btn btn-primary"><i class="fa fa-paper-plane"></i>Submit</button>
 | ||
|   </form>
 | ||
| </div>
 | ||
| ```
 |