- 필터링: filter
-
Css의
filter: 필터함수(값);속성은 요소에 다양한 필터 효과를 적용하는데, 속성값은 공백으로 구분하여 복수의 필터 효과를 조합할 수도 있다:img { filter: grayscale(0.5) blur(10px); }
블러: filter: blur(값);
값 이 클수록 흐려지는데, 단위는 px을 쓰고, %는 허용되지 않는다!
명도: filter: brightness(값);
값 에는 %(나 소수점 단위)를 쓰는데 0 은 완전히 검게 되며, 100% (= 원본)를 넘으면 더 밝아진다 ← 곧, 100% (및 1) 이하는 원본의 밝기를 낮춘다!
채도: filter: saturate(값);
값 에는 %(나 소수점 단위)를 쓰는데 0% 는 완전한 무채색이 되며, 100% (= 원본)를 넘으면 더 채도가 높아진다 ← 곧, 100% (및 1) 이하는 원본의 채도를 낮춘다!
색상 대비: filter: contrast(값);
0% 는 완전한 회색조이고, 100% 는 원본과 같으며, 그 이상으로 주면 대비가 더 뚜렷해진다 ← 곧, 100% (및 1) 이하는 원본의 색상 대비를 낮춘다!
그레이스케일 회색조: filter: grayscale(값);
값 에는 %(나 소수점 단위)를 써서 전환 비율을 지정해주는데 0% (원본 이미지), 100%(완전한 회색조 이미지), 그 사이의 값 은 회색톤 비율을 지정한다
세피아톤 갈색조: filter: sepia(값);
값 에는 %(나 소수점 단위)를 써서 전환 비율을 지정해주는데 0% (원본 이미지), 100% (완전한 갈색조 이미지), 그 사이의 값 은 세피아톤 비율을 지정한다
색조 회전: filter: hue-rotate(각도값);
주어진 이미지에 hsl 색상환을 적용하는데, 각도값 은 입력 샘플을 조절할 색상환 각도로서
0deg (원본 이미지) ~ 360deg 이다
색상 반전: filter: invert(값);
값 에는 %(나 소수점 단위)를 쓸 수 있는데, 0 (원본 이미지) ~ 1 (정반대 색상으로 반전)까지의 값이 들어간다
불투명도: filter: opacity(값);
주어진 이미지의 불투명도를 설정하는데, 보다 확립된 Css의 opacity 속성과 같은 방식으로 작동한다!
* cf)
Css 필터는 SVG 이미지에서도 사용할 수 있는데, filter: url(); 함수를 사용하여
연결된 SVG 요소 또는 파일에서 SVG 필터를 적용할 수 있다
- 백드롭 필터: backdrop-filter
-
backdrop-filter속성에서도 Css Filter와 동일한 필터 함수들을 사용하는데,filter속성이 요소 전체에 필터를 적용하는 반면, 이 속성은 백그라운드에만 필터를 적용한다는 점에서 차이가 있다. 곧,backdrop-filter: 필터링함수[ 필터링함수2, ..];속성은 요소 뒤 배경에 블러나 색상 시프트 등의 효과를 준다
공화국을 위하여 !
.backdrop_element {
display: flex; flex-direction: column; justify-content: center; align-items: center;
position: relative; width: 100%; height: 50vh; max-height: 150px;
}
.backdrop_filter {
padding: 0.5em 1em;
backdrop-filter: blur(2px); /* 블러 효과 */
background: rgba(256 256 256 / 0.3); /* 요소 배경에 불투명도를 줌 */
z-index: 1;
}
.backdrop_element img {
position: absolute; top: 0; left: 0; width: 100%; height: 100%;
object-fit: cover;
}
☞ 이 효과는 요소의 '뒤'에 적용하기에, 그 효과를 보려면 요소 자체, 또는 요소의 배경에 불투명도를 주어야 한다!