脱Bootstrap！「Material Design Lite」でエレガントなウェブサイトを作ろう

## 「マテリアルデザイン」とは

マテリアルデザインは2014年の「Google I/O」でgoogleが提唱したUXデザインです。「マテリアル環境」と呼ばれる仮想的な三次元空間にボタンやカードなどの要素（マテリアル）を配置し、 **影やアニメーションによって現実の物理法則を再現します。** 

![](https://storage.googleapis.com/material-design/publish/material_v_12/assets/0Bzhp5Z4wHba3WFBLZjBNNGpnQzg/components-cards1.png)
[Cards - Components - Material Design](https://material.io/guidelines/components/cards.html#cards-usage)


マテリアルデザインの概要を理解するには「[Material design - YouTube](https://youtu.be/Q8TXgCzxEnw)」が大変有用です。見たことのない方は是非一度ご覧になってください。


### マテリアルデザインは「フラットデザイン」のアンチテーゼである


要素から立体感が取り除かれ、すべてのオブジェクトが一つの平面上に存在しているように感じさせるデザインが「フラットデザイン」です。Windows 8（Metro UI）やiOS7の登場により注目を集めました。

シンプルで美しいレイアウトを容易に実現できるフラットデザインですが、無駄な装飾を極限まで排除したために **ユーザーの直感に反するインターフェース** となってしまうことがあります。

その代表的な例がSurface RTのPC設定画面です。以下の画像の中でクリック可能な要素はいくつあるでしょうか？

![](https://media.nngroup.com/media/editor/2012/11/19/win8-settings-menu.png)
[Windows 8 — Disappointing Usability for Both Novice and Power Users](https://www.nngroup.com/articles/windows-8-disappointing-usability/)

答えは **7つ** です。一見すると「Change PC settings」はラベルのようですが、実はクリッカブルな要素です。これは『[問題解決に効く「行為のデザイン」思考法](https://www.amazon.co.jp/gp/product/4484152215/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4484152215&linkCode=as2&tag=bookreport0d-22&linkId=34d4826c110c77b1aa5c65ae503903d7)』でいう「迷いのバグ」に相当します。

このようなフラットデザインの問題点を解消するため、現実世界を模倣することによって直感的なインターフェースを実現するマテリアルデザインが誕生しました。

---

- [歴史から考えるフラットデザインとマテリアルデザインの違いとは？ | UX MILK](http://uxmilk.jp/55997)


### マテリアルは「紙」のメタファーである

マテリアルは1dpの厚みがある「紙」のメタファー（比喩）です。現実世界の紙に影があるように、マテリアルにも影があります。マテリアル環境では「主要光」と「環境光」と呼ばれる二つの仮想的な光源が空間を照らし、マテリアルに陰影を与えます。

**dp（density-independent pixels）** 密度非依存ピクセル。画面解像度による表示サイズの違いを解消するための単位です。

#### 主要光
主要光は方向性のある影を作ります。

![](https://storage.googleapis.com/material-design/publish/material_v_12/assets/0B6Okdz75tqQsSFZUZ01GTk13T28/whatismaterial-environment-shadow1.png)

#### 環境光
環境光はすべての角度からやわらかな影を作ります。

![](https://storage.googleapis.com/material-design/publish/material_v_12/assets/0B6Okdz75tqQsdDhaaTMwMTFVLTA/whatismaterial-environment-shadow2.png)

#### 主要光と環境光
主要光と環境光が作り出す二つの影が合わさることによって、マテリアルがより立体的となります。

![](https://storage.googleapis.com/material-design/publish/material_v_12/assets/0B6Okdz75tqQsNnVmbTNMUF9DR0U/whatismaterial-environment-shadow3.png)

マテリアルデザインにおいて、 **影は最も重要な概念の一つ** です。この他にも空間に配置する要素に対して様々なルールが定義されています。詳細は「[マテリアルデザインのガイドライン（日本語版）](https://material.io/jp/guidelines/)」をご覧ください。

---

- [Environment - Material Design](https://material.io/guidelines/material-design/environment.html#)

## 「MaterialDesign Lite」とは

「MaterialDesign Lite（MDL）」はgoogleが提供しているオープンソースのCSS/javascriptフレームワークです。様々なコンポーネントが用意されており、だれでも簡単にマテリアルデザインを実装することができます。

![](https://getmdl.io/assets/templates/blog.jpg)
[Material Design Lite](https://getmdl.io/)

## MDLを導入する

以下のソースをhtmlに貼り付けるだけでMDLを導入することができます。

```
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="https://code.getmdl.io/1.3.0/material.indigo-pink.min.css">
<script defer src="https://code.getmdl.io/1.3.0/material.min.js"></script>
```

以下のリンクにテンプレートが用意されているので、これをベースに必要なコンポーネントを組み合わせていくのがオススメです。

[TEMPLATES | Material Design Lite](https://getmdl.io/templates/index.html)

今後、ウェブデザインのトレンドを担っていくマテリアル・デザイン。MDLを試してみる価値は十分にあると思います。