アイコンフォント「FontAwesome」の使い方

アイコンフォントで有名な「FontAwesome」ですが、2017年末にリリースされたFontAwesome5から、Free版とPro版が用意されるようになりました。また、使用方法も従来のWebフォントとして使用する方法と、JavaScriptとSVGを使用する方法の2種類となり、使い方も前バージョン(FontAwesome4)と多少変更があります。今回は初心者にも分かりやすいようにCDNを使用したFontAwesomeの使い方を紹介します。

1

アイコンフォント「FontAwesome」とは?

アイコンフォントはWebフォントのアイコン版で、フォント同様にサイズ・色変更をCSSで調整することができます。FontAwesome5からJavaScriptでアイコンをSVGで出力する使用方法も増え現在ではJavaScriptの使用方法が推奨されてます。

有料のPRO版は$60で利用することができます。(2018年6月現在)
PRO版は合計3,332のアイコンが使用することができて、Solid・Regular・lightと3タイプのアイコンが用意されてます。

アイコンの種類も豊富にあり、Free版でも1,264種類のアイコンから選択することができ、以下のようによく使用されそうなアイコンも数多く用意されてます。


ソーシャル・PC系アイコン


ビジネス系アイコン


ブログ系アイコン


ショップ系アイコン


2

FontAwesome導入の準備

CSS(Webフォント)で利用する場合

FontAwesomeが発行しているCSSをhead内にリンクを貼ります。2018年6月現在、最新のバージョンは5.1.0です。下記URLより最新のタグをコピペしてください。

html
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous">

JavaScript(SVG)で利用する場合

FontAwesomeが発行しているJavaScriptをhead内にリンクを貼ります。2018年6月現在、最新のバージョンは5.1.0です。下記URLより最新のタグをコピペしてください。

html
<script defer src="https://use.fontawesome.com/releases/v5.1.0/js/all.js" integrity="sha384-3LK/3kTpDE/Pkp8gTNp2gR/2gOiwQ6QaO7Td0zV76UFJVhqLl4Vl3KL1We6q6wR9" crossorigin="anonymous"></script>

自分のサーバーにFontAwesomeのファイルをアップロードしたい場合は、ファイル一式をダウンロードします。ファイルを展開しますとCSSとJSが同梱されてますので用途に合わせファイルを設定してアップロードしてください。

3

FontAwesomeの使用方法

FontAwesomeの使用方法は基本的にCSS(Webフォント)・JavaScript(SVG)とも同じ方法となります。 まずはFontAwesomeのIconsページから使用したいアイコンを探します。Free版で使用する場合は左メニューの「Free」をクリックすると検索しやすくなります。

使用したいアイコンが見つかったらアイコン詳細ページからコードをコピペするだけです。

html
<i class="fab fa-twitter"></i>
4

アイコンのカラーを変更する

アイコンのカラーはCSSで簡単に変更することができます。

html
<span style="font-size: 3em; color: Tomato;">
  <i class="fas fa-stroopwafel"></i>
</span>

<span style="font-size: 3em; color: Dodgerblue;">
  <i class="fas fa-stroopwafel"></i>
</span>

<span style="font-size: 3em;">
  <span style="color: Mediumslateblue;">
  <i class="fas fa-stroopwafel"></i>
  </span>
</span>
5

アイコンのサイズを変更する

FontAwesomeでサイズのclassが用意されているのでサイズを変更したい場合はclassにfa-xsfa-smfa-lgfa-2x~fa-10xを追加します。 もちろんオリジナルのCSSを追加しfont-sizeでサイズを変更することもできます。

html
<i class="fas fa-stroopwafel fa-xs"></i>
<i class="fas fa-stroopwafel fa-sm"></i>
<i class="fas fa-stroopwafel fa-lg"></i>
<i class="fas fa-stroopwafel fa-2x"></i>
<i class="fas fa-stroopwafel fa-3x"></i>
<i class="fas fa-stroopwafel fa-5x"></i>
<i class="fas fa-stroopwafel fa-7x"></i>
<i class="fas fa-stroopwafel fa-10x"></i>
fa-xs .75em
fa-sm .875em
fa-lg 1.33em (vertical-align: -25%)
fa-2x~fa-10x 2em~10em
6

アイコンの向きを変更する

角度のclassを追加することで角度(90°/180°/270°)反転(水平/垂直)を変更することができます。

html
<i class="fab fa-font-awesome"></i>
<i class="fab fa-font-awesome fa-rotate-90"></i>
<i class="fab fa-font-awesome fa-rotate-180"></i>
<i class="fab fa-font-awesome fa-rotate-270"></i>
<i class="fab fa-font-awesome fa-flip-horizontal"></i>
<i class="fab fa-font-awesome fa-flip-vertical"></i>
fa-rotate-90 90°
fa-rotate-180 180°
fa-rotate-270 270°
fa-flip-horizontal 水平(横)に反転
fa-flip-horizontal 垂直(縦)に反転
7

アイコンを回転させる

ローディングアニメーションで使えそうな回転するアイコンもclassにfa-spinを追加するだけで機能します。 fa-pulseにすると、8ステップで1回転するアニメーションとなります。

html
<i class="fas fa-spinner fa-spin"></i> 
<i class="fas fa-circle-notch fa-spin"></i> 
<i class="fas fa-sync fa-spin"></i> 
<i class="fas fa-cog fa-spin"></i> 
<i class="fas fa-spinner fa-pulse"></i> 
8

アイコンを使ったメニュー

ナビゲーションメニューもアイコンを配置するだけで視覚的にイメージが伝わりやすくなります。

css
.icon02 ul{
	list-style:none;
    border:solid 1px #DDD;
    border-bottom:none;
    }
.icon02 li a{ 
	color:#666;
    display:block;
    border-bottom:solid 1px #DDD;
    padding:10px;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    }
.icon02 li a:hover{
	background-color:#F2F2F2;
	}
html
<div class="icon02">
<ul>
<li><a href="#"><i class="fas fa-home"></i> Home</a></li>
<li><a href="#"><i class="fas fa-building"></i> Coporate</a></li>
<li><a href="#"><i class="far fa-handshake"></i> Business</a></li>
<li><a href="#"><i class="far fa-envelope"></i> Mail</a></li>
</ul>
</div>
9

疑似要素で使用する

CSSの疑似要素::before::afterでアイコンを表示させることもできます。CSS(Webフォント)FREE版での使用方法を紹介します。
アイコンを使用したい疑似要素::beforefont-family: "Font Awesome 5 Free";とUnicodecontent: "\f099"を記述します。
Unicodeは各アイコンページにてコピーできます。

twitterやfacebookなどのブランド系アイコン(classfab)を使用する場合はfont-family: "Font Awesome 5 Brands";となります。

CSS
.icon::before {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
	}
 .login::before {
    font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f007";
  }
  .tps::before {
    font-family: "Font Awesome 5 Free"; font-weight: 400; content: "\f1ea";
  }
  .twitter::before {
    font-family: "Font Awesome 5 Brands"; font-weight: 400;  content: "\f099";
  }
.icon01 ul{ 
	list-style: none; 
	display: flex;
	}
.icon01 li { 
	width: 33%;
	text-align: center;
	background-color:#666;
	height: 50px;
	line-height: 50px;
	margin:0 2px;
	}
.icon01 li a{ 
	display: block;
	color: #fff;
	}
.icon01 li a:hover{ 
	background-color:#999;
	}
html
<div class="icon01">
<ul>
<li><a href="#"><span class="icon login"></span> Login</a></li>
<li><a href="#"><span class="icon tps"></span> TPS Reports</a></li>
<li><a href="#"><span class="icon twitter"></span> Twitter</a></li>
</ul>
</div>

JavaScript(SVG)でも可能なようですが、複雑でエラーが多いようなので、あまりオススメできません。英文ですが疑似要素についてはCSS Pseudo-elementsを参考にしてください。

以前のバージョンと比べ、機能が増えて進化しているようです。アイコンを表示するだけなら、簡単に使用できるので興味のある人は使用してみては如何でしょうか。以上、アイコンフォント「FontAwesome」の使い方でした。