Googleマテリアルアイコン使い方とカスタマイズ
この記事にはプロモーションが含まれています

Google製のアイコンフォント「Googleマテリアルアイコン」はマテリアルデザインをベースとして設計されています。見やすくてデザインもFontAwesomeよりもこちらの方が好みかなと思っています。
ここではGoogleマテリアルアイコンの基本的な使い方、カスタマイズ方法をまとめています。
Googleマテリアルアイコンのライセンスは?
ライセンスはApache License バージョン 2.0となっており、誰でも自由に利用、変更、配布でき商用利用も可能です。
現在はGoogleフォントに組み込まれています。他のGoogleフォント同様、商用利用可能で印刷物や電子書籍、ロゴなどにも利用可能です。
Googleマテリアルアイコンの使い方
Googleマテリアルアイコンの使い方は簡単。CSSを読み込みするだけです。
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
アイコンは5種類
マテリアルシンボルと違い、マテリアルアイコンは可変フォントではないので、CSSで塗りつぶしの有無などの制御はできません。
マテリアルアイコンの5種類のフォントファミリー(Filled, Outlined, Rounded, Two Tone, Shape)をそれぞれ読み込む必要があります。
- Filled(塗りつぶし)※デフォルト
- Outlined(枠線だけのタイプ)
- Rounded(塗りつぶしで丸みがあるタイプ)
- Two Tone(グレーを使った2色使いタイプ)
- Shape(ラインがカクカクしたシャープなタイプ)
デフォルトはFilled(塗りつぶし)アイコンです。
アイコンが表示されない?
Googleマテリアルアイコンが表示されない場合は読み込むCSSを確認してみます。
Filled,Outlined, Two Tone, Round, Shapeでそれぞれのフォントファミリーを読み込む必要があります。
例えば、send アイコンのRoundタイプを読み込みたい場合は、link要素で読み込むのは以下のようにMaterial+Icons+Round
を指定する必要があります。
<!-- <head></head>内に記述 -->
<link href="https://fonts.googleapis.com/css?family=Material+Icons+Round&display=swap" rel="stylesheet">
アイコンclassはmeterial-icons-round
にします。
<span class="material-icons-round">
send
</span>
Filled,Outlined, Two Tone, Round, Shapeの指定方法は以下の通りです。
<!-- デフォルト Filled -->
<link href="https://fonts.googleapis.com/css2?family=Material+Icons&display=swap" rel="stylesheet">
<!-- Outlined -->
<link href="https://fonts.googleapis.com/css2?family=Material+Icons+Outlined&display=swap" rel="stylesheet">
<!-- Two Tone -->
<link href="https://fonts.googleapis.com/css2?family=Material+Icons+Two+Tone&display=swap" rel="stylesheet">
<!-- Round -->
<link href="https://fonts.googleapis.com/css2?family=Material+Icons+Round&display=swap" rel="stylesheet">
<!-- Sharp -->
<link href="https://fonts.googleapis.com/css2?family=Material+Icons+Sharp&display=swap" rel="stylesheet">
一つにまとめて読み込みたい時は|
で繋げて記述します。これは他のGoolgeフォントを複数読み込む時と同じですね。
<!-- 全部指定 -->
<link href="https://fonts.googleapis.com/css?family=Material+Icons|Material+Icons+Outlined|Material+Icons+Two+Tone|Material+Icons+Round|Material+Icons+Sharp&display=swap" rel="stylesheet">
アイコンが表示されない場合は、link要素で読み込んでいるフォントファミリーとアイコンのクラスが一致しているか確認してみると良いです。
ちなみにNoto SansとRobotoをまとめて読み込みたい時は以下のような感じです。
<link href="https://fonts.googleapis.com/css?family=Roboto|Noto+Sans+JP&display=swap" rel="stylesheet">
アイコンがずれる?の対処法
アイコン+テキストを横並びに表示させたい場合に、位置がずれてガタガタになってしまう時には。Flexboxで並べてしまうのが一番簡単かと。
display:flexで横並びにする
横に並べたいアイコンやテキストを囲んでいる要素に対して、display:flex
を指定します。下の例だと、a
タグです。
<ul class="nav nav-flex">
<li><a href="#"><span class="material-icons-round">home</span>HOME</a></li>
</ul>
CSS
.nav-flex li a {
display: flex;
/* 縦方向中央に揃えるためalign-itemsを指定する */
align-items: center;
}
display:inline-flexで横並びにする
元々アイコンに適用されているdisplay:inline-block
をdisplay:inline-flex
に上書きすることでアイコンとテキストを横に並べることもできます。
.inline-flex li a span {
display: inline-flex;
/* 縦方向中央に揃えるためvertical-alignを指定する */
vertical-align: middle;
}
マテリアルアイコンを全てダウンロードするには?
マテリアルアイコン のページでは、選択したアイコンをSVGやPNGでダウンロードできます。でも全部まとめてダウンロードしたいという時に。
最新の安定版バージョン
https://github.com/google/material-design-icons/archive/refs/tags/4.0.0.zip
または Githubリポジトリ でダウンロードできます。
GithubからCloneする
$ git clone https://github.com/google/material-design-icons/
丸ごとダウンロードすると3GB超あるので注意です・・・。