evil_icons概要
evil_icons
は、webアプリケーションに特化してデザインされたSVG型式のアイコン画像集です。
こう書くと、ただの画像ファイル詰め合わせのような感じですが、gemとして公開されているので、Railsプロジェクトに追加して簡単に利用することができます。
また、SVGの形式なので、画像のサイズや色をプログラムから指定することができるのも特徴です。
使い方
Gemfileにevil_icons
を追加します。
gem 'evil_icons', github: 'outpunk/evil-icons'
rubygems にも公開されているのですが、どういうわけかインストールしたgemのassets/
フォルダの中に、あるはずのcssファイルが無くてうまく動かなかったため、githubからインストールしました。
application.cssに、以下の記述を追加します。
/*
*= require evil-icons
*/
アイコンを使うページのビューに以下を追加します。
いろんなページで使う場合は、application.html.erbとかに書くのが手っ取り早くていいと思います。
<%= evil_icons_sprite %>
アイコンを表示するには、evil_icon
ヘルパーメソッドを使います。
<%= evil_icon 'ei-search' %>
evil_icon
のパラメータに表示したいアイコンの種類を指定します。アイコンの種類は以下のページで一覧を参照できます。
http://evil-icons.io/
画像サイズの指定
size
オプションで画像の大きさを指定することができます。
<%= evil_icon 'ei-search', size: :s %>
<%= evil_icon 'ei-search', size: :m %>
<%= evil_icon 'ei-search', size: :l %>
<%= evil_icon 'ei-search', size: :xl %>
<%= evil_icon 'ei-search', size: :xxl %>
色の指定
CSSファイルでアイコンの色を指定できます。
/* 全アイコン種類の色を指定する場合 */
.icon {
fill: red;
}
「基本は黒でよいけど検索のアイコンは青で表示したい」など、特定のアイコン種類だけ色を変えたい場合は、icon--
+ 「アイコンの種類」というクラス名を指定します。
/* 特定のアイコン種類だけに色を指定する場合 */
.icon--ei-search {
fill: blue;
}
ひとつひとつのアイコンに個別に色を指定する場合は、独自のクラス名を定義して、evil_icon
のパラメータにclass
というオプションを渡します。
.custom-class-silver {
fill: silver;
}
.custom-class-gray {
fill: gray;
}
<%= evil_icon 'ei-search', class: 'custom-class-silver' %>
<%= evil_icon 'ei-search', class: 'custom-class-gray' %>