backdrop-filter 속성

backdrop-filter 속성을 사용하면 요소 뒤에 있는 영역에 필터(흐림 효과, 대비 변경, 색상 효과)를 적용할 수 있습니다. 이는 "유리" 또는 "서리 낀 유리" 효과를 생성합니다.

구문

css선택자 {
  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%)).

여러 필터를 공백으로 구분하여 나열하여 결합할 수 있습니다.

예제 . 단순 흐림 효과

배경에 대한 기본 흐림 효과:

html<div class="blur-example">
  <div class="blur-box">
    배경 흐림 효과
  </div>
</div>
css.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;
}

Результат:

예제 . 따뜻한 조명 필터

밝기를 높인 따뜻한 조명 효과:

html<div class="warm-light-bg">
  <div class="warm-light">
    따뜻한 조명 효과
  </div>
</div>
css.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;
}

Результат:

예제 . 그라데이션 마스크와 함께하는 흐림 효과

흐림 효과와 반투명 그라데이션의 조합:

html<div class="gradient-mask">
  <div class="mask-content">
    그라데이션 마스크 효과
  </div>
</div>
css.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;
}

Результат:

예제 . 오래된 영화 효과

세피아와 그레인 효과의 조합:

html<div class="old-film">
  <div class="film-effect">
    오래된 영화 효과
  </div>
</div>
css.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;
}

Результат:

예제 . 차가운 파란색 필터

차가운 조명 효과:

html<div class="cold-bg">
  <div class="cold-effect">
    차가운 파란색 필터
  </div>
</div>
css.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;
}

Результат:

예제 . 높은 대비

높은 대비 효과:

html<div class="contrast-bg">
  <div class="contrast-effect">
    높은 대비
  </div>
</div>
css.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;
}

Результат:

예제 . 수채화 효과

채도를 높인 부드러운 흐림 효과:

html<div class="watercolor-bg">
  <div class="watercolor-effect">
    수채화 효과
  </div>
</div>
css.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;
}

Результат:

예제 . 배경의 그림자

배경 이미지에 그림자 효과:

html<div class="shadow-bg">
  <div class="shadow-effect">
    그림자 효과
  </div>
</div>
css.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;
}

Результат:

예제 . 완전한 색상 반전

배경 색상의 완전한 반전:

html<div class="invert-bg">
  <div class="invert-effect">
    완전한 색상 반전
  </div>
</div>
css.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;
}

Результат:

예제 . 어둡게 하기 효과

텍스트 가독성을 유지하며 배경을 어둡게 하기:

html<div class="darken-bg">
  <div class="darken-effect">
    어두운 배경
  </div>
</div>
css.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;
}

Результат:

예제 . 회색조 효과

배경의 완전한 회색조 변환:

html<div class="grayscale-bg">
  <div class="grayscale-effect">
    회색조 필터
  </div>
</div>
css.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;
}

Результат:

예제 . 높은 채도 효과

배경 색상 강화:

html<div class="saturate-bg">
  <div class="saturate-effect">
    과도한 채도의 색상
  </div>
</div>
css.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;
}

Результат:

예제 . 복합 예술적 효과

예술적 효과를 위한 여러 필터의 조합:

html<div class="artistic-bg">
  <div class="artistic-effect">
    예술적 조합
  </div>
</div>
css.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;
}

Результат:

예제 . 반투명 효과

배경 투명도 조절:

html<div class="opacity-bg">
  <div class="opacity-effect">
    투명도 조절
  </div>
</div>
css.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,
    배경 이미지의 혼합 모드를 정의합니다