iOS 26がリリースされ、Appleのデザイン言語である「Glassmorphism(グラスモーフィズム)」が注目を集めています。Glassmorphismは、背景をぼかし、半透明のガラスのような質感を持つUIデザインスタイルです。
MonacaアプリはもちろんWeb技術で構築されているため、Glassmorphismを実現する場合にはCSSを活用する必要があります。本記事では、CSSを使ってこのGlassmorphismを実装する方法について解説します。
Glassmorphismの利用シーン
Glassmorphismは、UI全体に関わるデザインスタイルではなく、特定のコンポーネントに適用されることが多いです。以下は、Glassmorphismがよく使われるUIコンポーネントの例です。
- 検索バー
- カードUI
- モーダルウィンドウ
- ナビゲーションバー
Glassmorphismは立体感や奥行きを演出するために用いられます。特に、背景が動的に変化する場合や、コンテンツが重なり合うデザインで効果的です。
こちらのデモが参考になります。
実装の基本プロパティ
では、Glassmorphismを実装するための基本的なCSSプロパティについて説明します。
backdrop-filter:背景をぼかす中核プロパティ
backdrop-filter プロパティは、要素の背後にあるコンテンツに対してフィルター効果を適用します。Glassmorphismでは、主にぼかし(blur)効果が使用されます。
Safariブラウザでは -webkit-backdrop-filter を使用する必要があるため、両方を指定することが推奨されます。
/* Glassmorphismの基本スタイル */
.glassmorphism {
backdrop-filter: blur(16px) saturate(1.2);
-webkit-backdrop-filter: blur(16px) saturate(1.2);
}
backdrop-filterプロパティは、モダンなブラウザでは問題なくサポートされています。
CSS Backdrop Filter | Can I use... Support tables for HTML5, CSS3, etc
背景色と透明度の設定
Glassmorphismでは、背景色に透明度を持たせることが重要です。rgba()関数を使用して、透明度を指定します。
.glassmorphism {
background: rgba(255, 255, 255, 0.1); /* 白色の半透明背景 */
}
枠線
枠線を追加することで、ガラスの質感を強調できます。淡い色で細い枠線を設定します。
.glassmorphism {
border: 1px solid rgba(255, 255, 255, 0.3); /* 淡い白色の枠線 */
}
奥行きや浮遊感の演出
Glassmorphismでは、奥行きや浮遊感を演出するために、以下のプロパティも活用します。
.glassmorphism {
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1); /* 軽い影を追加 */
border-radius: 10px; /* 角を丸くする */
}
実装例
以下は、Glassmorphismを活用した具体的なUIコンポーネントの実装例です。
検索バー
.search-container {
display: flex;
align-items: center;
background: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.2);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border-radius: 50px;
padding: 10px 20px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
transition: all 0.4s ease;
}
See the Pen
Glassmorphism Search Bar with Animation (CSS & Responsive) by Atsushi (@goofmint)
on CodePen.
カードUI
.card--glass {
font-size: 125%;
box-shadow: var(--card-shadow);
backdrop-filter: blur(var(--card-bg-blur-amount));
}
See the Pen
Glassmorphism: Simple Card UI by Rahul (@c99rahul)
on CodePen.
ボタン
ボタンの場合、ホバーやアクティブ時の効果も重要です。
.glass-button:hover {
background-color: rgba(255,255,255,0.2);
}
See the Pen
Glassmorphism CSS Panels and Buttons by Kanishk Kunal (@kanishkkunal)
on CodePen.
利用上の注意点
Glassmorphismを実装する際には、以下の点に注意してください。
対応ブラウザについて
backdrop-filter プロパティは、モダンなブラウザでサポートされていますが、古いブラウザでは対応していない場合があります。利用する際には、対象ユーザーのブラウザ環境を確認してください。IEは非対応です。
パフォーマンスへの影響
backdrop-filter プロパティは描画コストが高く、特にモバイルデバイスではパフォーマンスに影響を与える可能性があります。使用する際には、必要最低限の要素に適用するようにしましょう。
アクセシビリティの考慮
Glassmorphismは視認性に影響を与える可能性があります。背景がぼやけることで、テキストや重要な情報が見えにくくなる場合があります。十分なコントラストを確保し、アクセシビリティを考慮したデザインを心がけてください。
まとめ
Glassmorphismは、モダンで魅力的なUIデザインを実現するための強力な手法です。CSSのbackdrop-filterプロパティを活用することで、簡単にガラスのような質感を持つコンポーネントを作成できます。ただし、対応ブラウザやパフォーマンス、アクセシビリティに注意しながら実装する必要があります。また、他のUIとのバランスにも配慮しないと、一部のUIだけ浮いて見えてしまうでしょう。
ぜひ、MonacaアプリでもGlassmorphismを活用して、洗練されたデザインを実現してください。
