
無料アイコンサイトの雄 Font Awesome
バージョンが4から5へアップすると共にサイトもレスポンシブデザインに刷新されています。
私のテンプレートでも利用させて頂いてます。ありがとうございます。
って、バージョンアップは良いんだけどさ。
どうしますか (´・ω・`)
今回はサイト説明や使用方法説明ではなく 注意を促す記事 でございます。
ごめんなさい。ワタクシとんでもない嘘を書いてしまいました。
疑似要素・特殊な装飾が絡んだもの及び ブランドアイコン(SNS各社など) 以外は旧コードでもちゃんとSVGに変換して表示してくれます。
お詫び申し上げます。

Font Awesome
The world’s most popular and easiest to use icon set just got an upgrade. More icons. More styles. More Options.
変わってしまった「クラス名」
既存テンプレートに含めているFont Awesome(以下めんどくさいので FA と称す)はバージョン4です。
テンプレート内にリンクがありますので、みなさんが記事を書く際にも利用できます。実際にお使いになられている方もいらっしゃるのではないでしょうか。
ところがさー。クラス名が変わっちゃった んですねコレ (´・ω・`)
例えばFacebookアイコン。以下は説明の便宜上「画像」で掲載します。そして装飾については別途CSS指定が必要ですけれどもとりあえずサンプルとして。
これまでの内容は以下の通り。
<i class="fa fa-facebook" aria-hidden="true"></i>
でもって、新バージョンは以下の通り。
<i class="fab fa-facebook-f"></i>
うぇwマジかw
思わず普段使わない草も飛び出すってもんです。
クラス名の識別が変わったわけですから 全く別の物になった ということです。つまり、
バージョンを新しくしてしまうと(新バージョンへのリンクに変更すると)、既存のアイコンが表示されなくなる
ことを意味します。
記事内で利用したこと無いよ (`▽´) という方はセーフです。セーフ
ガッツリ使ってる、という方は…… どうしようねぇ (´・ω・`)
推奨の利用法も変わりました
これまでは「CSSリンク」としての提供でした。それは本バージョンでも同じように準備されていますが、新たに追加された使用法があります。
SVGとJSで非同期で読み込んだらええよ
ってやつ。
……… (´-ε-`;)
これたぶん多くの方がずっと思ってたと思うんです。
「何故にCSS・何故asyncさせない・何故にbootstrapやねん」ってのを(笑)
それが実現されたわけなんですが… や、これは良いことなんですよ?良いことだけれども!!
うーん、ちょっとその前にいろいろ説明しますね。
これまでFAを使うにはテンプレートのhead情報内に
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/バージョン/css/font-awesome.min.css">
こんなして入ってたんですね。で、ご覧の通りこれはCSSのリンクです。
これまでと同じようにバージョンの部位を変更し
<link rel="stylesheet" href="https://use.fontawesome.com/releases/バージョン/css/all.css">
こんな風に多少変更はありますが、同じ感覚で利用することは可能です。
但し既に書いたように、クラス名が変わったのですから4までの書式では表示が行われなくなります。
外部CSSというのは レンダリングブロック 要因なんですね。
htmlの解釈・描画を遅らせる原因となります。
同じくJS(Javascript)もレンダリングブロック要因ではあるのですが、CSSのリンクと違って必ずしもhead情報内に書かなくてはいけないというわけではありません。
ですから大抵は </body> の直前、つまりhtml内容を解釈した後で処理するように後回しします。
でもCSSリンクというのはhead情報内に記す決まりなのでそれができないわけだ。
実際スピードテストなんかを行うと、Googleにしろ第三サービスにしろ、「このFAのリンクどうにかならんの?」と注意されます。
どうにもなんねーよ(これまでは)
ちょっと気の利くデザイナーなんかはJS使ってFAを後回し(link要素を後からheadに追加)ってことをやってます。
私のテンプレートにも一部該当しているものがありますよ。
その「後回し」が推奨されるようになったみたい (´・ω・`)
それはそれで良いんですけどね。みんなそうしたかったに違いないですし(笑)
<script defer src="https://use.fontawesome.com/releases/v5.0.1/js/all.js"></script>
今後は上記スクリプトをbody直前に書けば良いよ、と。そゆことよね (´・ω・`)
こうすると動的にSVGで表示を行なってくれます。そしてdefer付いてますので非同期読み込みで高速化、ということです。
deferならhead内に書いても良いけどねぇ…。
変換時にaria-hidden属性も付きますね(ユーザーエージェントに認識させないことで音声読み上げ候補から外す)
なんか「デザインも全部1からやり直したんだぜ。」みたいなことも書いてありますね。
おっつー (´・ω・`)
いやホント頭が下がります。無料で使わせて頂けるなんて。
有料版もあるけど(笑)
記事内で利用している方は注意
えと。何に注意するかというと。
私がテンプレート内のFAバージョンを上げてしまうからです。
すみません(笑)
こういうバージョン変更は早いうちにしておかないと後々困るんですよね。先延ばしすると問題が蓄積されるというか。
古いバージョンを引き継ぐためには旧バージョンのCSSリンクを残さなければいけませんが、そんなのしたら高速化もなにも全部無駄どころか逆に負担になりますので やりません。
ですから
記事内でバージョン4を利用している方はご自身で対処をお願いします。
えー。だってそれしかないもんな (´・ω・`)
There are no comments yet.