MoonNote

はてなブログテーマ / CSS / jQuery

Web サイト向けの「Material Design」コンポーネントが公開される

f:id:waitingmoon:20150707225423j:plain

Android 5.0 から採用されている「Material Design」を Web で使うためのコンポーネント「Material Design Lite」が Google によって公開された。内容的には CSS、JS および HTML のセットで、Github では「こういうページが作れますよ」というテンプレートも公開されている。

github.com

個人的に一番嬉しいのは Material Design の影を CSS の box-shadow で再現する時に指定する数値が公式に分かったこと。「Material Design box-shadow」で検索すると、一応『それっぽい』値は載っているものの、実際に適用した時「何かが違う」感を否定することができなかった。

そういうこともあって、『Google 謹製』のコンポーネントが公開されたことはありがたい。以下は同梱されている CSS ファイルから引用した box-shadow の指定。

.mdl-shadow--2dp {  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); }
.mdl-shadow--3dp {  box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 1px 8px 0 rgba(0, 0, 0, 0.12); }
.mdl-shadow--4dp {  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2); }
.mdl-shadow--6dp {  box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12), 0 3px 5px -1px rgba(0, 0, 0, 0.2); }
.mdl-shadow--8dp {  box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2); }
.mdl-shadow--16dp {  box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); }

コンテンツの深度ごとに合計6種類の指定があった。へえ~と思ったのが、ある深度の影を表現するのに box-shadow を 複数指定している点。レベルごとにぼかしや広がり方を変えているのもなかなか。

あと、transition や transform にはあるのに、box-shadow にはベンダープレフィックス付きの指定がなかった。もう必要ないのかな。