そもそもSVGとはScalable Vector Graphics(スケーラブル・ベクター・グラフィックス)で、拡大縮小、変形してもキレイなままでぼやけず荒れないXMLベースの画像のことです。Web上でSVGを使って表現することが出来ます。イラストレータのデータも同じベクターデータです。
最近はアイコンフォントよりもSVG化が主流になりつつあります。アイコンフォントは、元々はテキスト表示を改造してアイコンを表現していた物でしたが最近は直接アイコンを描画するSVG化に流れが向いています。
有名なアイコンフォントFont Awesomeもバージョンが5になってJSを使って描画していますがSVG推奨となっています。もちろん以前のアイコンフォントとしても使えます。
さて今回はオリジナルのアイコンを作ってSVGで表示させてみたいと思います。HTML版とWordPress版の2つのバージョンでお届け致します。
準備編
まずSVGを用意します。イラストレータでアイコンを作ります。オブジェクトは単色でひとつが好ましいですがオブジェクトが複数あるとちょっと後の設定が面倒になるので出来るだけシンプルな作りにしておきましょう。
色は黒にして葉っぱのアイコンを作りました。
これをSVGにして保存します。Mac用ですがイラストレータのファイルから別名で保存を選びます。
保存を押すとSVGの設定画面が出ますがSVGプロファイルがSVG1.1になっていることを確認してそのまま保存にします。
このファイルを以下のサイトで取り込みます。
サイトに入るとIcoMoon Appという右上に紫のアイコンをクリックします。そして次の画面にて左上に同じく紫色のImport Iconsというボタンを押してインポートをします。
インポートされるとこのような表示になりました。ジェネレーターするアイコンをクリックしてハイライト表示になったら一番下のGenerate SVG & Moreをクリックします。
ダウンロードして準備は完了です。解凍するといろいろなフォルダやファイルがありますが使うのはsymbol-defs.svgだけです。
⇒SVGサンプルダウンロード
HTML編
HTMLファイルのテンプレートを用意します。<body>
直下もしくは</body>
の直前にsymbol-defs.svgをテキストファイルで開いてコピーペーストします。
こんな感じになりますね。
H1にテキストを入れて以下のコードを記入します。
これでページを開くとアイコンが表示されますね。色とか大きさも変えたいですね。
head要素内にスタイルをつけます。cssでの色はbackground-colorではなくfillプロパティを使います。
うまくキレイに表示されていますね。
WordPress編
ワードプレスの場合は読み込ませるだけで良いので楽です。functions.phpに以下のコードを記載すれば完了です。
変えるところと言えばsymbol-defs.svgの保存先のパスをSVGスプライトファイルを定義のところに入れてやることです。
functions.php
PHPのテンプレートファイルなどに簡単に使い回すことが出来ます。
上記のように記載すれば表示されます。もちろん普通に記載しても表示されます。
ワードプレスのエディターのテキストモードで記載する際には改行が入らないように記載しないと表示されないので注意が必要です。
参考になれば幸いです。
J. David Eisenberg,Amelia Bellamy-Royds オライリージャパン 2017-05-17
∞Tadashi Suyama∞