backdrop-filter는 요소 뒤의 배경에 그래픽 효과(블러, 채도 조정 등)를 적용하는 css 속성이다.
즉, 요소 자체가 아니라 "그 뒤에 보이는 배경"을 흐리게 하거나 조정하는 것이다.
예를 들어, 반투명 유리창 같은 효과를 낼 때 필수이다.
backdrop-filter: <filter-function> [<filter-function>]*;
여러 필터를 띄어쓰기 한 번으로 이어서 쓸 수 있다.
| 필터 함수 | 설명 | 예시 |
|---|---|---|
blur() | 배경을 흐리게 | blur(10px) |
brightness() | 밝기 조절 | brightness(0.8) |
contrast() | 대비 조절 | contrast(120%) |
grayscale() | 흑백 효과 | grayscale(0.5) |
saturate() | 채도 조절 | saturate(150%) |
sepia() | 갈색톤 효과 | sepia(0.3) |
.glass {
width: 300px;
height: 200px;
background: rgba(255, 255, 255, 0.2);
border-radius: 16px;
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.3);
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

요소 뒤의 배경이 흐릿하게 보이면서, 마치 분투명한 유리창 같은 느낌을 낸다.
backgdrop-filter는 요소 뒤의 배경에 적용되므로 해당 요소가 완전히 불투명하면 아무 효과도 보이지 않는다.
즉, 아래 두 조건 중 하나가 필요하다.
.glass-card {
backdrop-filter: blur(10px) saturate(180%);
}

blur로 흐리게 만들고, saturate로 배경 색을 선명하게 하면
투명 유리 위에 비치는 색감이 더 예쁘게 살아난다.
| 브라우저 | 지원 여부 |
|---|---|
| Chrome | ✅ |
| Edge | ✅ |
| Safari | ✅ (단, -webkit-backdrop-filter 필요) |
| Firefox | ⚠️ 실험적, layout.css.backdrop-filter.enabled 설정 필요 |
| IE | ❌ 지원 안 함 |
Safari 호환을 위해 아래 속성을 함께 써주는 것이 좋다.
-webkit-backdrop-filter: blur(10px);
| 효과 | 예시 |
|---|---|
| 유리창 느낌 | blur(10px) |
| 선명한 색감 강조 | saturate(180%) |
| 어두운 유리 느낌 | blur(12px) brightness(0.7) |
| 흑백 필터 | grayscale(1) |