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を活用して、洗練されたデザインを実現してください。