記事検索

検索ワードを入力してください。
Sky Tech Blog
【CSS】backdrop-filterとは

【CSS】backdrop-filterとは

backdrop-filterについての説明です。CSSプロパティ「backdrop-filter」を使用して、要素の背後領域にぼかしや色のシフトなどの視覚効果を適用する方法を紹介しています。2024年に主要なブラウザで標準サポートされ、ウェブデザインにおける背景効果を簡単に実現できます。

ウェブデザインをしていて、背景をもう少し魅力的にしたいと思ったことはありませんか?

そんなときにおすすめなのが「backdrop-filter」です。このCSSプロパティを使用すると、要素の背後領域に対してぼかし等のグラフィカルな効果を適用することができます。

backdrop-filterとは

「backdrop-filter」とは、CSSのフィルター効果を要素の背後領域に適用するためのプロパティです。これにより、背景にぼかしや色のシフト等の視覚効果を追加することができます。

Baseline
backdrop-filterは、2024年にBaselineに追加され、主要なブラウザで標準的にサポートされるようになりました。

使用例

「backdrop-filter」の基本的な使用例を3つ紹介します。

1.​ ぼかし効果

.filter {
  backdrop-filter: blur(50px);  /* ← backdrop-filterにblurを設定 */

  font-weight: bold;
  flex: 1;
  text-align: center;
  padding: 50px 10px;
  background-color: rgba(255, 255, 255, 0.2);
}

  1. 階調反転

.filter {
  backdrop-filter: invert(100%);  /* ← backdrop-filterにinvertを設定 */

  font-weight: bold;
  flex: 1;
  text-align: center;
  padding: 50px 10px;
  background-color: rgba(255, 255, 255, 0.2);
}

3. セピア効果

.filter {
  backdrop-filter: sepia(100%); /* ← backdrop-filterにsepiaを設定 */   

  font-weight: bold;
  flex: 1;
  text-align: center;
  padding: 50px 10px;
  background-color: rgba(255, 255, 255, 0.2);
}

利用​可能な​フィルター

上記の使用例で紹介した以外にも、様々なフィルター効果を適用することができます。

関数名 効果
blur() ぼかし
invert() 階調反転
sepia() セピア
brightness() 明るさ
contrast() コントラスト
drop-shadow()
grayscale() モノクロ
hue-rotate() 色相回転
opacity() 透過
saturate() 彩度

フィルターの​併用

複数のフィルターを組み合わせて使用することも可能です。値の間に半角スペースを入力することで、複数指定することができます。

.filter {
  backdrop-filter: blur(50px) invert(100%); /* ← backdrop-filterにblurとinvertを設定 */

  font-weight: bold;
  flex: 1;
  text-align: center;
  padding: 50px 10px;
  background-color: rgba(255, 255, 255, 0.2);
}

backdrop-filterを​使用しない​場合、​どうなるか?

backdrop-filterを使用しない場合、どのように実装するのか?ぼかし効果を適用するケースで試してみました。

使用しない​場合

.container {
  position: relative;
  background-image: url(./img/dummy.png);
  background-size: cover;
  width: 530px;
  height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: black;
  overflow: hidden; /* 擬似要素がはみ出さないように設定 */
}

.container::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: inherit;
  background-size: inherit;
  background-position: center;
  filter: blur(10px); /* ぼかし効果を適用 */
}

.filter {
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.2);
  z-index: 1;
}

使用した​場合

.container {
 position: relative;
 background-image: url(./img/dummy.png);
 background-size: cover;
 width: 530px;
 height: 300px;
 display: flex;
 align-items: center;
 justify-content: center;
 color: black;
}

.filter {
 backdrop-filter: blur(50px);  /* ← backdrop-filterにblurを設定 */
 position: absolute;
 inset: 0;
 background-color: rgba(255, 255, 255, 0.2);
 z-index: 1;
}

画像比較

backdrop-filterを使用せずに実現するために、「::after」で疑似要素にぼかし効果を適用してみました。近づけるよう努力しましたが、完全に一致させることはできませんでした。これにより、backdrop-filterは簡単かつ美しくフィルター効果を適用できることがわかります。

まとめ

本記事では、CSSプロパティの「backdrop-filter」について紹介しました。backdrop-filterプロパティは、ウェブデザインにおける背景効果を簡単に実現できます。ブラウザの互換性とパフォーマンスを確認しながら、ぜひ活用してみてください。

参考文献

出典:Mozilla Corporation・「CSS backdrop-filter」
https://developer.mozilla.org/ja/docs/Web/CSS/Reference/Properties/backdrop-filter

出典:株式会社PENGIN・PENGINコラム「backdrop-filterの使い方解説! CSSでグラスモーフィズムを実装!」
https://pengi-n.co.jp/column/backdrop-filter/


\シェアをお願いします!/
  • X
  • Facebook
  • LINE
キャリア採用募集中!

入社後にスキルアップを目指す若手の方も、ご自身の経験を幅広いフィールドで生かしたいベテランの方も、お一人おひとりの経験に応じたキャリア採用を行っています。

Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム