196 lines
6.4 KiB
Markdown
196 lines
6.4 KiB
Markdown
![]() |
---
|
||
|
id: bad87fee1348bd9aedd08845
|
||
|
title: ボタンに Font Awesome アイコンを追加する
|
||
|
challengeType: 0
|
||
|
forumTopicId: 16638
|
||
|
required:
|
||
|
-
|
||
|
link: 'https://use.fontawesome.com/releases/v5.8.1/css/all.css'
|
||
|
raw: true
|
||
|
dashedName: add-font-awesome-icons-to-our-buttons
|
||
|
---
|
||
|
|
||
|
# --description--
|
||
|
|
||
|
Font Awesome は便利なアイコンライブラリです。 アイコンはウェブフォントであったりベクターグラフィックスであったりします。 これらのアイコンはフォントと同じように扱われます。 ピクセルを使用してサイズを指定でき、親の HTML 要素のフォントサイズが仮定されます。
|
||
|
|
||
|
HTMLの先頭に次のコードを追加して、任意のアプリで Font Awesome を使用できます。
|
||
|
|
||
|
```html
|
||
|
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
|
||
|
```
|
||
|
|
||
|
この例では、すでにこのページに追加してあります。
|
||
|
|
||
|
`i` 要素は、もともとは他の要素を斜体にするために使用されていましたが、現在ではアイコンに対して一般的に使用されています。 Font Awesome のクラスを `i` 要素に追加してアイコンに変えることができます。例:
|
||
|
|
||
|
```html
|
||
|
<i class="fas fa-info-circle"></i>
|
||
|
```
|
||
|
|
||
|
アイコンで使用する場合は代わりに `span` 要素も使用できます。
|
||
|
|
||
|
# --instructions--
|
||
|
|
||
|
Font Awesome を使用して、 `thumbs-up` アイコンを like ボタンに追加してください。それには、クラス `fas` および `fa-thumbs-up` を持つ `i` 要素を追加します。 アイコンの横にテキスト `Like` が表示されるようにしてください。
|
||
|
|
||
|
# --hints--
|
||
|
|
||
|
クラス `fas` および `fa-thumbs-up` を持つ `i` 要素を追加します。
|
||
|
|
||
|
```js
|
||
|
assert($('i').is('.fas.fa-thumbs-up') || $('span').is('.fas.fa-thumbs-up'));
|
||
|
```
|
||
|
|
||
|
Like ボタンの中に `fa-thumbs-up` アイコンを配置します。
|
||
|
|
||
|
```js
|
||
|
assert(
|
||
|
($('i.fa-thumbs-up').parent().text().match(/Like/gi) &&
|
||
|
$('.btn-primary > i').is('.fas.fa-thumbs-up')) ||
|
||
|
($('span.fa-thumbs-up').parent().text().match(/Like/gi) &&
|
||
|
$('.btn-primary > span').is('.fas.fa-thumbs-up'))
|
||
|
);
|
||
|
```
|
||
|
|
||
|
`button` 要素の中に `i` 要素を入れます。
|
||
|
|
||
|
```js
|
||
|
assert(
|
||
|
$('button').children('i').length > 0 ||
|
||
|
$('button').children('span').length > 0
|
||
|
);
|
||
|
```
|
||
|
|
||
|
icon 要素には終了タグが必要です。
|
||
|
|
||
|
```js
|
||
|
assert(code.match(/<\/i>|<\/span>/g));
|
||
|
```
|
||
|
|
||
|
# --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">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://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="fas fa-thumbs-up"></i> 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>
|
||
|
```
|