作成日 :

2-1.SVG アイコン設定

SVG(Scalable Vector Graphics)は、二次元のベクトルグラフィックスを記述するためのXMLベースの画像形式。1999年からW3C(World Wide Web Consortium)によって標準化が進められている。

アイコンに最適な SVG

  • 無限の解像度
    ベクター形式のため、拡大・縮小しても境界線がボケない。高解像度ディスプレイ(Retina等)でも常に鮮明。
  • CSSでの制御
    mask-image や fill プロパティを用いることで、CSSのみで色やサイズ、アニメーションを自由に変更可能。
  • 軽量なファイルサイズ
    単純な形状であれば、ビットマップ画像よりも圧倒的にデータ量が少なく、読み込み速度に貢献する。
  • アクセシビリティ
    コード内に <title> タグなどを記述できるため、スクリーンリーダーが内容を認識しやすく、SEOやアクセシビリティの面でも優れる。

HTML記述、CSS定義、クイックタグ登録

  1. HTMLのクラス名から、CSSにより擬似要素にSVGの形状を呼び出しマスク描画し、くり抜いてSVGの形状を疑似要素に背景色として描画。
  2. quick-tag.js にアイコンを登録して、編集画面のボタンから HTML スニペットを挿入可能にする。

HTML

<i class="icon-setup sample-code" role="img" aria-label="サンプルコード"></i>

CSS設定

クラス名からSVGの形状を疑似要素( ::before )にマスク描画(切り抜きの型データ:mask-image)して、icon-setup の背景色(background-color)をくり抜いてSVGの形状を疑似要素に描画する。

  • .icon-setup.個別クラス名 :(擬似要素の親)の背景色がアイコン背景色
    アイコン背景色:background-color、間隔:margin, padding 設定
  • .icon-setup.個別クラス名::before :(擬似要素)の背景色がアイコン文字色
    SVGデータ:mask-image、縦横比率:width, height、文字サイズ:font-size、アイコン文字色():background-color 設定
  • .icon-setup.icon-bg.個別クラス名::before:マスクを使用せず、SVGデータを直接表示
    マスクを無効化、SVGデータを背景画像:background-imageに直接表示

サンプル コード表示