プロパティ backdrop-filter
プロパティ backdrop-filter は、要素の背後にある領域にフィルター(ぼかし、コントラスト変更、カラーエフェクト)を適用することを可能にします。これにより、「ガラス」や「すりガラス」のような効果を生み出します。
構文
セレクタ {
backdrop-filter: none | <フィルター> [<フィルター>]*;
}
値
| 値 | 説明 |
|---|---|
none |
フィルターを適用しない(デフォルト値)。 |
blur() |
ぼかし効果を適用する(例: blur(5px))。 |
brightness() |
背景の明るさを変更する(例: brightness(0.5))。 |
contrast() |
背景のコントラストを変更する(例: contrast(200%))。 |
drop-shadow() |
背景に影を追加する。 |
grayscale() |
背景をグレースケールに変換する(例: grayscale(100%))。 |
hue-rotate() |
背景の色相を変更する(例: hue-rotate(90deg))。 |
invert() |
背景の色を反転する(例: invert(100%))。 |
opacity() |
背景の透明度を変更する(例: opacity(50%))。 |
sepia() |
背景にセピアを適用する(例: sepia(100%))。 |
saturate() |
背景色の彩度を変更する(例: saturate(200%))。 |
複数のフィルターをスペースで区切って組み合わせることができます。
例 . シンプルなぼかし
背景の基本的なぼかし効果:
<div class="blur-example">
<div class="blur-box">
Backdrop blur effect
</div>
</div>
.blur-example {
background: linear-gradient(135deg, #667eea, #764ba2);
padding: 40px;
height: 200px;
}
.blur-box {
backdrop-filter: blur(6px);
background-color: rgba(255, 255, 255, 0.2);
border-radius: 8px;
padding: 20px;
width: 80%;
margin: 0 auto;
text-align: center;
color: white;
font-size: 22px;
}
:
例 . 暖かいライトフィルター
明るさを高めた暖かい照明効果:
<div class="warm-light-bg">
<div class="warm-light">
Warm lighting effect
</div>
</div>
.warm-light-bg {
background: url('bg.png');
background-size: cover;
padding: 50px;
height: 250px;
}
.warm-light {
backdrop-filter: brightness(1.2) hue-rotate(20deg);
background-color: rgba(255, 235, 205, 0.3);
padding: 25px;
width: 70%;
margin: 20px auto;
text-align: center;
color: #333;
font-size: 24px;
}
:
例 . グラデーションマスク付きぼかし
ぼかしと半透明グラデーションの組み合わせ:
<div class="gradient-mask">
<div class="mask-content">
Gradient mask effect
</div>
</div>
.gradient-mask {
background: url('bg.png') center/cover;
padding: 50px;
height: 300px;
}
.mask-content {
backdrop-filter: blur(10px);
background: linear-gradient(to right, rgba(255,255,255,0.3), rgba(255,255,255,0));
padding: 30px;
width: 80%;
margin: 0 auto;
}
:
例 . 古い映画の効果
セピアと粒子感の組み合わせ:
<div class="old-film">
<div class="film-effect">
Old film effect
</div>
</div>
.old-film {
background: url('bg.png') center/cover;
padding: 40px;
height: 250px;
}
.film-effect {
backdrop-filter: sepia(80%) contrast(110%) brightness(90%);
background-color: rgba(0,0,0,0.1);
padding: 25px;
width: 70%;
margin: 20px auto;
}
:
例 . 冷たい青のフィルター
冷たい照明効果:
<div class="cold-bg">
<div class="cold-effect">
Cool blue filter
</div>
</div>
.cold-bg {
background: url('bg.png') center/cover;
padding: 50px;
height: 300px;
}
.cold-effect {
backdrop-filter: hue-rotate(180deg) brightness(85%);
background-color: rgba(200,230,255,0.2);
padding: 30px;
width: 75%;
margin: 0 auto;
}
:
例 . ハイコントラスト
コントラストを高めた効果:
<div class="contrast-bg">
<div class="contrast-effect">
High contrast
</div>
</div>
.contrast-bg {
background: url('bg.png') center/cover;
padding: 40px;
height: 250px;
}
.contrast-effect {
backdrop-filter: contrast(200%) brightness(90%);
background-color: rgba(0,0,0,0.1);
padding: 25px;
width: 70%;
margin: 20px auto;
}
:
例 . 水彩画の効果
柔らかいぼかしと高彩度:
<div class="watercolor-bg">
<div class="watercolor-effect">
Watercolor effect
</div>
</div>
.watercolor-bg {
background: url('bg.png') center/cover;
padding: 50px;
height: 300px;
}
.watercolor-effect {
backdrop-filter: blur(12px) saturate(200%);
background-color: rgba(255,255,255,0.15);
padding: 30px;
width: 80%;
margin: 0 auto;
}
:
例 . 背景上の影
背景画像上の影効果:
<div class="shadow-bg">
<div class="shadow-effect">
Drop shadow effect
</div>
</div>
.shadow-bg {
background: url('bg.png') center/cover;
padding: 40px;
height: 250px;
}
.shadow-effect {
backdrop-filter: drop-shadow(4px 4px 10px rgba(0,0,0,0.5));
background-color: rgba(255,255,255,0.2);
padding: 25px;
width: 70%;
margin: 20px auto;
}
:
例 . 完全な反転
背景色の完全な反転:
<div class="invert-bg">
<div class="invert-effect">
Full inversion
</div>
</div>
.invert-bg {
background: url('bg.png') center/cover;
padding: 50px;
height: 300px;
}
.invert-effect {
backdrop-filter: invert(100%);
background-color: rgba(0,0,0,0.1);
padding: 30px;
width: 80%;
margin: 0 auto;
}
:
例 . 暗くする効果
テキストの可読性を保った背景の暗くする効果:
<div class="darken-bg">
<div class="darken-effect">
Darkened background
</div>
</div>
.darken-bg {
background: url('bg.png') center/cover;
padding: 50px;
height: 300px;
}
.darken-effect {
backdrop-filter: brightness(40%);
background-color: rgba(0,0,0,0.3);
color: white;
padding: 30px;
width: 80%;
margin: 0 auto;
}
:
例 . 色を抜く効果
背景を完全にグレースケール化:
<div class="grayscale-bg">
<div class="grayscale-effect">
Grayscale filter
</div>
</div>
.grayscale-bg {
background: url('bg.png') center/cover;
padding: 50px;
height: 300px;
}
.grayscale-effect {
backdrop-filter: grayscale(100%);
background-color: rgba(255,255,255,0.2);
padding: 30px;
width: 80%;
margin: 0 auto;
}
:
例 . 高彩度化の効果
背景色の強調:
<div class="saturate-bg">
<div class="saturate-effect">
Super saturated colors
</div>
</div>
.saturate-bg {
background: url('bg.png') center/cover;
padding: 50px;
height: 300px;
}
.saturate-effect {
backdrop-filter: saturate(300%);
background-color: rgba(255,255,255,0.1);
padding: 30px;
width: 80%;
margin: 0 auto;
}
:
例 . 組み合わせた芸術的効果
芸術的効果のための複数のフィルターの組み合わせ:
<div class="artistic-bg">
<div class="artistic-effect">
Artistic combination
</div>
</div>
.artistic-bg {
background: url('bg.png') center/cover;
padding: 50px;
height: 300px;
}
.artistic-effect {
backdrop-filter: blur(3px) hue-rotate(90deg) saturate(150%) contrast(120%);
background-color: rgba(255,255,255,0.15);
padding: 30px;
width: 80%;
margin: 0 auto;
color: white;
text-shadow: 0 0 5px black;
}
:
例 . 半透明効果
背景の透明度の調整:
<div class="opacity-bg">
<div class="opacity-effect">
Opacity control
</div>
</div>
.opacity-bg {
background: url('bg.png') center/cover;
padding: 50px;
height: 300px;
}
.opacity-effect {
backdrop-filter: opacity(50%);
background-color: rgba(0,0,0,0.3);
color: white;
padding: 30px;
width: 80%;
margin: 0 auto;
}
:
ブラウザーサポート
このプロパティはほとんどの最新ブラウザーでサポートされていますが、完全なクロスブラウザー互換性のために -webkit- プレフィックスが必要な場合があります。
関連項目
-
プロパティ
filter,
これは要素自体に効果を適用します -
プロパティ
opacity,
要素の透明度を制御します -
プロパティ
background-blend-mode,
背景画像の合成モードを定義します