* feat(tools): add seed/solution restore script * chore(curriculum): remove empty sections' markers * chore(curriculum): add seed + solution to Chinese * chore: remove old formatter * fix: update getChallenges parse translated challenges separately, without reference to the source * chore(curriculum): add dashedName to English * chore(curriculum): add dashedName to Chinese * refactor: remove unused challenge property 'name' * fix: relax dashedName requirement * fix: stray tag Remove stray `pre` tag from challenge file. Signed-off-by: nhcarrigan <nhcarrigan@gmail.com> Co-authored-by: nhcarrigan <nhcarrigan@gmail.com>
		
			
				
	
	
		
			178 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			178 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
id: bad87fee1348bd9aede08845
 | 
						|
title: Create a Custom Heading
 | 
						|
challengeType: 0
 | 
						|
forumTopicId: 16816
 | 
						|
dashedName: create-a-custom-heading
 | 
						|
---
 | 
						|
 | 
						|
# --description--
 | 
						|
 | 
						|
We will make a simple heading for our Cat Photo App by putting the title and relaxing cat image in the same row.
 | 
						|
 | 
						|
Remember, Bootstrap uses a responsive grid system, which makes it easy to put elements into rows and specify each element's relative width. Most of Bootstrap's classes can be applied to a `div` element.
 | 
						|
 | 
						|
Nest your first image and your `h2` element within a single `<div class="row">` element. Nest your `h2` element within a `<div class="col-xs-8">` and your image in a `<div class="col-xs-4">` so that they are on the same line.
 | 
						|
 | 
						|
Notice how the image is now just the right size to fit along the text?
 | 
						|
 | 
						|
# --hints--
 | 
						|
 | 
						|
Your `h2` element and topmost `img` element should both be nested together within a `div` element with the class `row`.
 | 
						|
 | 
						|
```js
 | 
						|
assert($('div.row:has(h2)').length > 0 && $('div.row:has(img)').length > 0);
 | 
						|
```
 | 
						|
 | 
						|
Your topmost `img` element should be nested within a `div` with the class `col-xs-4`.
 | 
						|
 | 
						|
```js
 | 
						|
assert(
 | 
						|
  $('div.col-xs-4:has(img)').length > 0 &&
 | 
						|
    $('div.col-xs-4:has(div)').length === 0
 | 
						|
);
 | 
						|
```
 | 
						|
 | 
						|
Your `h2` element should be nested within a `div` with the class `col-xs-8`.
 | 
						|
 | 
						|
```js
 | 
						|
assert(
 | 
						|
  $('div.col-xs-8:has(h2)').length > 0 &&
 | 
						|
    $('div.col-xs-8:has(div)').length === 0
 | 
						|
);
 | 
						|
```
 | 
						|
 | 
						|
All of your `div` elements should have closing tags.
 | 
						|
 | 
						|
```js
 | 
						|
assert(
 | 
						|
  code.match(/<\/div>/g) &&
 | 
						|
    code.match(/<div/g) &&
 | 
						|
    code.match(/<\/div>/g).length === code.match(/<div/g).length
 | 
						|
);
 | 
						|
```
 | 
						|
 | 
						|
# --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">
 | 
						|
  <h2 class="text-primary text-center">CatPhotoApp</h2>
 | 
						|
 | 
						|
  <a href="#"><img class="img-responsive thick-green-border" src="https://bit.ly/fcc-relaxing-cat" alt="A cute orange cat lying on its back."></a>
 | 
						|
 | 
						|
  <img src="https://bit.ly/fcc-running-cats" 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">Like</button>
 | 
						|
    </div>
 | 
						|
    <div class="col-xs-4">
 | 
						|
      <button class="btn btn-block btn-info">Info</button>
 | 
						|
    </div>
 | 
						|
    <div class="col-xs-4">
 | 
						|
      <button class="btn btn-block btn-danger">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">
 | 
						|
    <label><input type="radio" name="indoor-outdoor"> Indoor</label>
 | 
						|
    <label><input type="radio" name="indoor-outdoor"> Outdoor</label>
 | 
						|
    <label><input type="checkbox" name="personality"> Loving</label>
 | 
						|
    <label><input type="checkbox" name="personality"> Lazy</label>
 | 
						|
    <label><input type="checkbox" name="personality"> Crazy</label>
 | 
						|
    <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://bit.ly/fcc-relaxing-cat" alt="A cute orange cat lying on its back."></a>
 | 
						|
    </div>
 | 
						|
  </div>
 | 
						|
  <img src="https://bit.ly/fcc-running-cats" 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">Like</button>
 | 
						|
    </div>
 | 
						|
    <div class="col-xs-4">
 | 
						|
      <button class="btn btn-block btn-info">Info</button>
 | 
						|
    </div>
 | 
						|
    <div class="col-xs-4">
 | 
						|
      <button class="btn btn-block btn-danger">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">
 | 
						|
    <label><input type="radio" name="indoor-outdoor"> Indoor</label>
 | 
						|
    <label><input type="radio" name="indoor-outdoor"> Outdoor</label>
 | 
						|
    <label><input type="checkbox" name="personality"> Loving</label>
 | 
						|
    <label><input type="checkbox" name="personality"> Lazy</label>
 | 
						|
    <label><input type="checkbox" name="personality"> Crazy</label>
 | 
						|
    <input type="text" placeholder="cat photo URL" required>
 | 
						|
    <button type="submit">Submit</button>
 | 
						|
  </form>
 | 
						|
</div>
 | 
						|
```
 |