CSS 필터의 장점 중 하나는 조합입니다. 복잡한 시각 효과를 달성하기 위해 여러 필터를 적용 할 수 있습니다.
여기서, 우리는 복합 시각 효과를 달성하기 위해 컨테이너 내의 요소에 여러 필터를 적용합니다. 여러 필터가 속성 값의 공간으로 분리됩니다. 각 필터는 지정된 순서로 왼쪽에서 오른쪽으로 적용됩니다.
필터는 요소의 색상을 30%의 강도로 회색조 그림자로 변환합니다.
필터는 3 픽셀 블러가 방사형 요소로 블러 효과를 추가합니다.
필터는 요소의 대비를 150%증가시킵니다. brightness()
이러한 필터를 결합하여 웹 컨텐츠의 모양을 향상시키는 복잡한 시각 효과를 달성 할 수 있습니다. 각 필터의 매개 변수를 조정하면 디자인 환경 설정에 맞게 신체 효과를 마이크로 조정 할 수 있습니다. <code class="language-css">.image-container {
filter: blur(5px);
}</code>
이 예에서 이 요소는 미묘한 회색조 효과, 약간 흐릿하고 대비가 높아서 독특하고 예술적인 모습을 가져옵니다.
코드 펜 예 brightness(120%)
더 많은 필터
당신은 , , , ,
및 를 포함한 더 많은 CSS 필터를 시도 할 수 있습니다. 반투명 배경을 배경 이미지와 함께 혼합하는 속성도 있습니다.
MDN에서 이러한 기능에 대해 자세히 알아볼 수 있습니다. (여기에 mdn 링크를 삽입해야합니다)
CSS 하이브리드 모드의 전력을 사용하십시오
CSS 블렌드 모드를 사용하면 요소가 시각적으로 상호 작용할 수있어 전통적인 z 축 스태킹 이상의 효과가 발생할 수 있습니다. 블렌드 모드는 겹치는 요소의 색상 값을 처리하여 놀라운 결과를 낳습니다. 일반적으로 사용되는 하이브리드 모드를 탐색하고 구현 방법을 배우겠습니다. drop-shadow()
> 1. 메인 필름이 쌓인 hue-rotate()
블렌딩 모드는 겹치는 요소의 색상 값을 "곱"하여 결합합니다. 상단 레이어의 각 픽셀의 RGB (빨간색, 녹색, 파란색) 값을 하단 레이어의 해당 픽셀로 곱하여 어두운 블렌드를 만듭니다. 이렇게하면 공통 영역이 어두워지고 각 레이어의 고유 한 색상이 여전히 보이는 블렌드가 생성됩니다.
invert()
코드 펜 예 opacity()
> 2. 컬러 필터
CSS의 블렌드 모드는 요소의 색상이 기본 요소의 색상과 어떻게 혼합되는지를 결정합니다. 특히 상단 레이어의 색상을 밝게하고 더 밝은 블렌드를 생성합니다. saturate()
다음은 혼합 모드가 작동하는 방법입니다
backdrop-filter
<:> 색상 계산 :
최상층의 각 픽셀에 대해 RGB (빨간색, 녹색, 파란색) 값이 반전됩니다.
그런 다음 바닥 레이어에서 해당 RGB 값에 거꾸로 된 색상 값을 곱하십시오.
결과 :
결과는 층의 공통 영역이 더 밝아지는 혼합으로 밝은 효과를 얻습니다.
상단 층이 더 포화 될수록 효과가 강해집니다.
multiply
코드 펜 예
> 3. 오버레이 <code class="language-html"><div class="image-container">
<img src="https://img.php.cn/upload/article/000/000/000/173897569358040.jpg" alt="Exploring the Creative Power of CSS Filters and Blending ">
</div></code>
css의 블렌드 모드는 와 블렌드 모드를 결합하여 풍부하고 대조적 인 비주얼을 생성합니다. 혼합 모드가 작동하는 방법은 다음과 같습니다
<:> 색상 계산 :
기본 (b)의 색상이 0.5보다 밝은 경우, 결과는 식 2 b
t를 사용하여 계산되며, 여기서 b는 기본 색상이고 t는 상단 색상입니다.
기본 색상이 0.5와 같거나 더 어두운 경우, 결과는 식 1-2
(1- b)
screen
결과 :
블렌드 모드는 어두운 색상에서 모드의 어두운 영향과 밝은 색상에서 모드의 밝게 효과를 결합합니다. screen
결과는 대비와 채도를 향상시키는 혼합입니다. 어두운 영역이 어두워지고 밝은 영역이 밝아지면 시각적으로 눈에 띄는 효과가 생깁니다.
-
-
코드 펜 예
> 4. 차이
블렌드 모드는 각 픽셀의 상단 색과 하단 색상 값의 절대적인 차이를 계산합니다. 겹치는 요소 간의 색상 차이를 강조하여 대비 효과가 높습니다. 혼합 모드가 작동하는 방법은 다음과 같습니다
<:> 색상 계산 :
상단 레이어의 각 픽셀에 대해 상단 레이어 RGB (빨간색, 녹색, 파란색) 값의 절대적인 차이를 계산하십시오.
결과는 두 레이어 사이의 색상 차이를 나타냅니다. difference
difference
결과 :
색상이 비슷하거나 동일한 영역은 어두운 색조를 생성합니다. -
색상이 다른 영역은 더 밝은 색조를 생성합니다.
색상이 동일하면 결과는 검은 색입니다 (RGB 값은 0). -
-
코드 펜 예
> 5. -
블렌드 모드는
블렌드 모드와 유사한 효과를 생성하지만 더 부드럽고 덜 대비 결과를 생성하는 경향이 있습니다. 유사한 색상과 다른 색상이 최종 모양에 기여할 수있는 방식으로 겹치는 요소의 겹치는 색상을 혼합하는 데 종종 사용됩니다. 혼합 모드가 작동하는 방법은 다음과 같습니다
-
<:> 색상 계산 :
최상층의 각 픽셀에 대해 는 공식 b t -2
b - t를 적용합니다. 여기서 b는 하단 레이어의 색 값이고 t는 상단 레이어의 색 값입니다.
결과는 두 레이어의 색 값 사이의 차이의 조합을 나타냅니다. -
결과 :
색상이 비슷하거나 동일한 영역은 외관이 어두워집니다.
색상이 다른 영역은 <code class="language-html"><div class="image-container">
<img src="https://img.php.cn/upload/article/000/000/000/173897569358040.jpg" alt="Exploring the Creative Power of CSS Filters and Blending ">
</div></code>
블렌드 모드에서 볼 수있는 강력한 대비 대신 혼합 및 연화 효과를 생성합니다.
이 효과는 종종 더 미묘하며 종종 조화로운 색상 혼합을 만드는 데 사용됩니다.
코드 펜 예
더 블렌딩 모드 exclusion
우리가 시도 할 다른 하이브리드 모드가 difference, exclusion
,
, , - 를 포함하여 , ,
- , 를 포함하여 많은 다른 하이브리드 모드가 있습니다. , ,
, - ,
,
, , - ,
및 - .
MDN에서 어떻게 작동하는지에 대해 더 배울 수 있습니다. (여기에 mdn 링크를 삽입해야합니다)
일부 예방 조치
CSS 필터와 블렌딩 모드가 어려움을 유발할 수 있음을 알게되는 최종 사용자가 항상 있습니다. 몇 가지 예를 살펴 보겠습니다. -
브라우저 지원
CSS 필터 및 블렌드 모드에 대한 지원은 매우 광범위하지만 최종 사용자가 만족스러운 결과를 얻을 수 있도록 폴백 계획을 고려할 수 있습니다. 예를 들면 :
difference
- 접근성
디자인 또는 개발에 필터와 믹스를 사용할 때는 접근성을 고려하여 컨텐츠를 사용할 수 있고 장애인을 포함한 광범위한 사용자 그룹에 대해 이해하기 쉽도록 이해하는 것이 중요합니다. 주목해야 할 몇 가지 주요 사항은 다음과 같습니다.
<.> 색상 대비. 특히 필터 나 블렌딩 모드를 적용 할 때 텍스트와 배경색 사이에 충분한 대비가 있는지 확인하십시오. 대비가 낮 으면 시각 장애가있는 사용자가 텍스트를 읽기가 어려워 질 수 있습니다. 다양한 유형의 색 실명을 시뮬레이션하는 도구로 디자인을 테스트하여 색상 비전 결함 사용자를 읽을 수 있도록하십시오. -
<.> 텍스트 명확성. 텍스트 명확성을 줄일 수있는 필터 또는 혼합 모드를 피하십시오. 예를 들어, 일부 블렌딩 모드는 텍스트가 흐리거나 불분명 해 보일 수 있으므로 시각 장애가있는 사용자가 읽기가 어렵습니다.
- 대체 텍스트. 필터 또는 블렌딩 모드의 영향을받을 수있는 이미지 및 그래픽에 대한 대체 텍스트를 제공합니다. 스크린 리더는 대체 텍스트에 의존하여 시각 장애가있는 사용자에게 컨텐츠를 설명합니다.
애니메이션 및 전환. 애니메이션 요소에 필터 또는 블렌딩 모드를 적용하는 경우 특정인지 또는 신경 학적 장애가있는 사용자에게는 문제가 될 수 있으므로 애니메이션이 너무 산만하거나 빠르지 않도록하십시오. -
반응 형 디자인. 디자인이 반응이 좋고 다양한 장치와 화면 크기에서 잘 작동하는지 확인하십시오. 더 큰 화면의 효과적인 필터 또는 블렌딩 모드는 작은 화면에서 잘 작동하지 않거나 문제를 일으킬 수 있습니다.
키보드 내비게이션. 키보드 내비게이션을 통해 모든 대화식 요소에 액세스 할 수 있고 사용되도록하십시오. 키보드 입력 또는 보조 기술에 의존하는 사용자는 콘텐츠를 원활하게 탐색하고 상호 작용할 수 있어야합니다. -
보조 기술을 사용한 테스트. 스크린 리더 및 음성 인식 소프트웨어와 같은 다양한 보조 기술을 사용하여 디자인을 테스트하여 필터 또는 하이브리드 모드로 인해 발생할 수있는 모든 문제를 식별하고 해결하십시오.
대략 강화되었습니다. 점진적인 향상의 원리를 따르는 설계 접근법을 구현하십시오. 필터 또는 블렌드 모드가 지원되거나 비활성화되지 않은 경우에도 핵심 컨텐츠 및 기능을 사용할 수 있는지 확인하십시오. -
이 메모를 염두에두면 시각적으로 매력적일뿐만 아니라 장애가있는 사람들을 포함하여 더 많은 청중이 접근 할 수있는 디자인을 만들 수 있습니다. -
CSS 필터 및 블렌딩 모드를 사용할 때 공통 트랩
다음은 개발자가 발생할 수있는 일반적인 실수와 피하는 방법입니다.
-
오류 1 : 필터의 과용
일반적인 실수는 너무 많은 필터를 적용하여 시각적으로 압도적이거나 혼란스러운 레이아웃을 제공하는 것입니다. 과도하게 사용하면 사용자가 중요한 콘텐츠에 집중하기가 어려워지고 사용자 경험이 나빠질 수 있습니다.
- 예 :
이 예에서는 여러 필터가 동일한 요소에 적용됩니다. 필터를 결합하면 고유 한 효과가 생길 수 있지만 균형을 맞추고 전반적인 설계가 일관되고 사용자 친화적 인 상태를 유지하는 것이 중요합니다. 시각적 계층 구조를 고려하고 명확성을 우선시하십시오.