FontAwesomeで使用するアイコンには一意のClass名が振られているため、CSSでいろいろ調整することも可能ですが、アイコンサイズの変更などは専用のプレフィックスを記述するだけで行うことができます。
アイコンを表示させる際のHTMLの記述を少し変更するだけで様々なカスタムができる為、アイコン用のCSSを追加する必要がなくなります。
FontAweome4で説明していますが、FontAwesome5でも同じです。
この記事の目次
FontAwesomeアイコンの加工・カスタマイズ
ここで紹介している各クラスは半角スペースで区切って使用することができます。
(例)<i class="fa fa-camera fa-3x fa-rotate-90"></i>
「fa-3x」で3倍の大きさで表示。
「fa-rotate-90」で90度回転して表示。
色々併用することで面白いアイコンが出来上がりますね!
更にcssでも調整できるのでFontAwesomeのカスタム性はほぼ無限大。
では早速、基本的な加工方法を順番に見ていきましょう。
アイコンの大きさ(サイズ)を変更する
まず、FontAwesomeのアイコンサイズを変更する方法です。
12種類のクラスが用意されているため、12段階でアイコンの大きさを変更することができます。
【使用例】
<i class="fa fa-camera fa-3x"></i>
fa-3x : 3em = 3倍です。
クラス名 | サイズ | 表示結果 |
fa-xs | 0.75em | |
fa-sm | 0.875em | |
fa-lg | 1.33em | |
fa-2x | 2em | |
fa-3x | 3em | |
fa-4x | 4em | |
fa-5x | 5em | |
fa-6x | 6em | 省略 |
fa-7x | 7em | 省略 |
fa-8x | 8em | 省略 |
fa-9x | 9em | 省略 |
fa-10x | 10em | 省略 |
ピクセル単位で指定したい時はCSSでfont-sizeプロパティを使用します。
■HTMLに直接記述する場合↓
<i class="fa fa-camera" style="font-size:50px;"></i>
■CSSファイルに記述する場合↓
.fa-camera:before { content: "\f030"; font-size: 50px; }
contentの中の「\f030」はカメラのUnicodeと呼ばれるものです。
アイコンごとに存在し、CSSで疑似要素を装飾するのに必要です。
アイコンの色を変更する
お察しの方が多いと思いますが、CSSが使えるので色の変更も簡単です。
■HTMLに直接記述する場合↓
<i class="fa fa-camera" style="color:red;"></i>
■CSSファイルに記述する場合↓
.fa-camera:before { content: "\f030"; color: red; }
表示結果
アイコンに背景色を設定する
色の指定はアイコン色だけでなく、背景色の指定も可能です。
■HTMLに直接記述する場合↓
<i class="fa fa-camera" style="background:red"></i>
■CSSファイルに記述する場合↓
.fa-camera:before { content: "\f030"; background: red; }
表示結果
縦に並ぶアイコンの横幅を揃える
<i class="fa fa-camera fa-fw"></i>
横に広いアイコンと、横に狭いアイコンを垂直方向に並べて使用する場合。
|
|
のように横幅がズレてしまいますが、揃えることが出来ます。
上記のすべてのアイコンに「fa-fw」を指定します。
表示結果
|
|
|
このようにアイコンの横幅を綺麗に揃えることが出来ます。
アイコンをリストで使う
FontAwesomeはリストの・などをアイコンに置き換えて使用することも出来ます。
「ul」タグのクラス名に「fa-ul」を、
「li」タグのクラス名に「fa-li」を使用する。
【使用例】
<ul class="fa-ul">
<li><span class="fa-li"><i class="fa fa-hand-o-right"></i></span>1</li>
<li><span class="fa-li"><i class="fa fa-hand-peace-o"></i></span>2</li>
<li><span class="fa-li"><i class="fa fa-hand-spock-o"></i></span>3</li>
</ul>
表示結果
- 1
- 2
- 3
アイコンを回転させる
FontAwesomeのアイコンは90度、180度、270度と回転させたり、水平方向や垂直方向に反転させることもできます。
【使用例】
<i class="fa fa-motorcycle fa-rotate-90"></i>
クラス名 | 回転・反転 | 表示結果 |
fa-rotate-90 | 90°回転 | |
fa-rotate-180 | 180°回転 | |
fa-rotate-270 | 270°回転 | |
fa-flip-horizontal | 水平方向に反転 | |
fa-flip-vertical | 垂直方向に反転 | |
fa-flip-both | 水平、垂直の両方向に反転 | 5.7.0以降のみ対応 |
アイコンに回転アニメーションを付ける
「fa-spin」及び「fa-pulse」クラスを使えば、
リロード時にぐるぐる回るアニメーションをアイコンにつけることが出来ます。
【使用例】
<i class="fa fa-camera fa-spin"></i>
<i class="fa fa-spinner fa-pulse"></i>
クラス名 | 仕様 | 表示結果 |
fa-spin | アイコンを回転させる | |
fa-spinner fa-pulse | 8ステップで回転させる |
外部リンク
スピナーアイコン一覧
【公式サイト】Spinner Icons | Font Awesome
アイコンにボーダー線を付ける
アイコンの周りを囲う線を付けることが出来ます。
【使用例】
<i class="fa fa-camera fa-border"></i>
表示結果
(確認しにくいので拡大表示しています。)
アイコンを回り込み(float)表示する
アイコンの左右にテキストなどを回り込んで表示させることが出来ます。
fa-pull-right:float:right
fa-pull-left:float:left
といった感じになりました。
【使用例】
<i class="fa fa-camera fa-pull-right"></i>テストテスト・・・テスト。
<i class="fa fa-camera fa-pull-left"></i>テストテスト・・・テスト。
fa-pull-rightの表示結果
テストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテスト。
fa-pull-leftの表示結果
テストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテスト。
アイコンを重ねて表示する
何かのアイコンに✕マークを入れたい場合などに便利。
アイコンの親要素(span要素)に「fa-stack」というクラスを追加。
重ねられるアイコンに「fa-stack-1x」というクラスを追加。
重ねるアイコンに「fa-stack-2x」というクラスを追加。
<span class="fa-stack">
<i class="fa fa-camera fa-stack-1x"></i>
<i class="fa fa-ban fa-stack-2x" style="color:red"></i>
</span>
<span>タグで囲っているので改行無しで記述するとうまくいきました。
表示結果
更に「fa-stack-1x」を追加したアイコンに「fa-inverse」というクラスを追加すると色が反転します。
<span class="fa-stack">
<i class="fa fa-square fa-stack-2x"></i>
<i class="fa fa-twitter fa-stack-1x fa-inverse"></i>
</span>
表示結果(fa-inberseあり)
表示結果(fa-inberseなし)
色の反転をかけないと真っ黒になって重なっていても分かりませんね。
親要素に「fa-lg」や「fa-5x」など大きさの指定をしてあげると両方のサイズが大きくなります。
まとめ
全部ではありませんがFontAwesomeのカスタム方法と実際のサンプルのまとめでした。
時間があるときに他のカスタム内容も追記していこうと思います。
関連記事
アイコンを使ったリンクについて記述しました。
FontAwesomeのアイコンにリンクを付ける方法とリンクの先頭やお尻、両側にアイコンを付ける方法のまとめ。
この記事はFontAwesomeの公式ページを参考に作成しました。
外部リンク
【参考】Sizing Icons | Font Awesome
公式ページの「Docs」のページをめくっていくと詳しく見ることが出来ます。
(英語なのがかなり厳しい…)