CSS 및 SVG에서의 마스킹은 CSS '마스크'속성 또는 SVG` 브라우저 지원은 다양합니다. CSS 마스크는 주로 WebKit 브라우저에서 지원되는 반면 SVG 마스크는 Firefox 및 Internet Explorer를 포함한 최신 브라우저에서 더 넓은 호환성을 가지고 있습니다.
. 마스크 이미지를 URL 값으로 설정할 수 있습니다. 이것은 PNG 이미지 파일, SVG 파일 또는 SVG 요소에 대한 참조로가는 경로 일 수 있습니다. 쉼표로 분리 된 해당 수의 URL 값을 추가하여 둘 이상의 마스크 이미지 레이어를 설정할 수 있습니다.
다음은 몇 가지 예입니다
이것은 mask1
의 ID로 svg 요소를 참조하는 방법입니다.
그라디언트 이미지는 마스크 이미지 속성에도 적합한 값입니다.
마스크 모드 속성
마스크 모드를 사용하면 마스크 레이어 이미지를 알파 마스크 또는 휘도 마스크로 설정할 수 있습니다.
알파 마스크는 알파 채널이있는 이미지입니다. 자세히 알파 채널은 각 픽셀의 데이터에 포함 된 투명성 정보입니다. Alpha로 설정된 마스크 모드 속성으로 마스킹 작업은 이미지의 알파 값을 마스크 값으로 사용합니다. /* masking with two comma-separated values */
.masked-element {
mask-image: url(mask.png), none;
}
/* using external svg graphic as mask */
.masked-element {
mask-image: url(mask.svg);
}
알파 채널의 편리한 예는 검은 색과 투명 영역이있는 PNG 이미지입니다. 마스크 된 요소는 알파 값이 1 인 마스크 이미지의 검은 부분을 통해 표시됩니다. 알파 값이 0 인 투명 부분 아래의 다른 모든 것은 숨겨 질 것입니다.
이것은 마법이 일어나는 곳입니다 :
.masked-element {
mask-image: url(#mask1);
}
그리고 여기 브라우저에서 결과가 어떻게 보이는지 :
홍합 마스크는 이미지의 휘도 값을 마스크 값으로 사용합니다. 위의 PNG 이미지와 같은 PNG 이미지 - 그러나 흰색으로는 휘도 마스크의 좋은 예입니다.
.masked-element {
mask-image: linear-gradient(black 0%, transparent 100%);
}
마스크의 흰색 픽셀로 덮여있는 마스크를 원하는 요소의 영역이 표시됩니다. 마스크의 투명 픽셀로 덮인 마스크 된 요소의 일부는 숨겨집니다.
마스크 모드 속성을 휘도로 설정하고 위의 이미지를 마스크로 사용하면 이전과 동일한 결과가 표시됩니다.
코드는 다음과 같습니다
마스크-반복 속성
Mask-Repeat는 배경 반복 속성과 거의 비슷합니다. 크기와 위치를 설정 한 후 마스크 레이어 이미지 타일링을 제어합니다.
<:> 가능한 값은 다음과 같습니다
반복 : 마스크 레이어 이미지는 사용 가능한 공간에서 반복되지 않습니다.
<: :> 반복 -X : 마스크 레이어 이미지는 x 좌표를 따라 반복됩니다.
반복 Y : 마스크 레이어 이미지가 y 좌표 아래로 반복됩니다. -
공간 : 마스크 층 이미지가 반복되어 사용 가능한 영역 전체에서 간격을두고 있습니다.
라운드 : 마스크 레이어 이미지는 사용 가능한 영역에서 전체 횟수를 반복합니다. 정수가 사용 가능한 공간에 맞지 않으면 이미지가 그렇게 될 때까지 스케일링됩니다. -
예를 들어, 이것은 마스크로 사용하려는 이미지입니다.
-
아래 코드 스 니펫은 마스크 반복 속성을 공간 값으로 설정합니다.
다음 마스킹 효과가 발생합니다
-
마스크 위치 속성
마스크 위치 특성을 사용하여 마스크 레이어 이미지를 배치 할 수 있습니다. 이 속성을보다 친숙한 CSS 배경 이미지 속성에 사용하는 것과 동일한 값으로 설정할 수 있습니다. 초기 값은 중심입니다.
예를 들어 뷰포트의 왼쪽 상단에 마스크 이미지 레이어를 놓으려면 마스크 위치 속성을 - 0 0
:
의 값으로 설정하십시오.
이것은 위의 코드가 브라우저에서 보이는 것입니다.
위의 마스크 위치 특성의 값을
100% 100% 로 변경하면 뷰포트 오른쪽 하단에 마스크 레이어 이미지가 표시됩니다.
마스크 크기의 속성
마스크 크기 속성을 사용하여 마스크 레이어 이미지의 크기를 빠르게 설정할 수 있습니다. 마스크 크기 속성을 사용하여 더 친숙한 CSS 배경 크기 속성과 동일한 값을 수용합니다.
예를 들어, 마스크 크기를 50%로 설정하면 마스크 층 이미지가 전체 너비의 50%로 표시됩니다.
/* masking with two comma-separated values */
.masked-element {
mask-image: url(mask.png), none;
}
/* using external svg graphic as mask */
.masked-element {
mask-image: url(mask.svg);
}
가 포함하도록 마스크 크기를 설정하면 마스크 레이어 이미지를 가장 큰 크기로 스케일링하여 너비와 높이가 마스크 포지셔닝 영역 내부에 들어갈 수 있습니다.
이 데모가 아래의 코드펜에서 실시간으로 살아남는 것을 볼 수 있습니다 :
Codepen에서 Sitepoint (@SitePoint)의 펜 CSS 마스크 예제 참조.
마스크 레이어를 구성
위에서 설명한대로 마스크 이미지 특성의 각 값을 쉼표로 분리하여 동일한 요소에 두 개 이상의 마스크 레이어를 사용할 수 있습니다. 레이어는 다른 층이 화면에 먼저 표시되면서 다른 레이어 위에 쌓입니다.
예를 들어 /* masking with two comma-separated values */
.masked-element {
mask-image: url(mask.png), none;
}
/* using external svg graphic as mask */
.masked-element {
mask-image: url(mask.svg);
}
위의 스 니펫에서
mask22.png 는 mask1.png 가 겹쳐집니다.
마스크 복합 속성을 사용하면 다음 키워드의 값에 따라 다른 마스크 레이어를 결합 할 수 있습니다.
추가 : mask2.png 는 mask1.png 위에 페인트됩니다
suptract : mask1.png 를 겹치지 않는 mask2.png 의 일부를 표시합니다. 브라우저는 아직 표준 키워드를 지원하지 않으므로 적어도 당분간 해당 합성 운영자 키워드 소스 아웃을 사용해야합니다.
<: :> 교차 : mask1.png 의 겹침 부분을 표시합니다. 그러나 CSS 마스크를 지원하는 유일한 브라우저 인 WebKit 브라우저는 비표준 복합 소스 인 키워드를 사용하는 경우에도 화면에 아무것도 표시되지 않는 것 같습니다.
제외 : mask1.png 및 mask2.png 의 일부를 겹치지 않는 부분을 표시합니다. 다시 한번, 표준 키워드에는 아직 지원이 없기 때문에 복합 연산자 XOR을 사용하는 것이 훨씬 좋습니다.
-
아래 코드 펜 데모에서 라이브 데모를 확인할 수 있습니다.
Codepen에서 sitepoint (@sitepoint)별로 펜 CSS 마스크를 참조하십시오.
마스크 속성 속성
당신은 마스크를 사용하여 한 번에 CSS 마스킹 작업을 제어하는 모든 속성을 설정할 수 있습니다.
다음은 풀 마스크 속기입니다
마스크-오리진 및 마스크 클립 작업보다 친숙한 배경 오리핀 및 배경 클립 특성과 같은 작업.
마스크 속의 속성에서 속성을 재정렬 할 수 있지만 마스크 포지션 속성 후에는 "/"기호로 분리 된 마스크 크기 속성을 설정해야합니다. 또한 마스크 속도를 설정하지 않고 마스크 크기를 설정하면 잘못된 선언이 발생합니다.
마지막으로, 마스크 속성에 지정하지 못하는 값은 초기 기본값으로 다시 설정되므로 마스크를 사용하여 개별 속성을 재설정해야 할 때 마스크를 사용하여 실제로 편리합니다.
SVG 마스크 요소
확장 가능한 벡터 그래픽 또는 SVG는 그래픽을 표시하는 XML 기반 언어입니다.
SVG 문서 내부의 요소를 사용하여 HTML 요소 및 기타 SVG 그래픽에 마스킹 효과를 추가 할 수 있습니다.
SVG로 할 수있는 멋진 일은 텍스트를 사용하여 페이지의 다른 요소를 마스킹하는 것입니다.
이러한 각 가능성을 자세히 살펴 보겠습니다
HTML 요소에서 svg 요소를 사용하여
작성 시점에서 인라인 SVG 그래픽 내부의 요소를 사용하여 HTML 요소를 마스킹하면 Firefox 브라우저에서만 작동합니다. 예는 다음과 같습니다.
다음 CSS와 함께 /* masking with two comma-separated values */
.masked-element {
mask-image: url(mask.png), none;
}
/* using external svg graphic as mask */
.masked-element {
mask-image: url(mask.svg);
}
위의 코드에 는 mask1 의 id가있는 요소를 포함 시켰습니다. 마스크 내부에는 grad 의 ID와 그라디언트를 채우기 색상으로 사용하는 원 모양으로 흑백 그라디언트를 배치했습니다.
마지막으로 CSS 마스크 속성에서 SVG 요소의 ID 값을 참조했습니다. 이것은 마스킹 효과를 페이지의 이미지에 적용합니다.
페이지 배경과 마스크 이미지에 대한 몇 가지 다른 스타일 선언을 추가하면 아래의 것과 같이 매우 극적인 효과를 얻을 수 있습니다.
그라디언트의 흰색 음영으로 채워진 원 마스크의 부분이 마스크 된 이미지를 보여줄 수있는 방법에 주목하십시오. 반대로, 그라디언트의 검은 색 색조로 채워진 부분은 마스크 된 이미지를 숨 깁니다.
Codepen 에서이 라이브 데모가 있습니다 (Firefox에서만 작동합니다!) . .
Codepen에서 sitepoint (@sitepoint)에 의해 인라인 svg 마스크 요소가있는 펜 마스킹을 참조하십시오.
SVG 그래픽에서 svg 요소를 사용하는
이전 예제에서 동일한 SVG 요소를 사용할 수 있지만 이번에는 HTML 요소가 아닌 SVG 그래픽을 마스킹합니다. 장점은 WebKit 브라우저와 최신 IE를 포함하여 브라우저 지원이 훨씬 향상된다는 것입니다.
아래 스 니펫에서는 SVG 요소 안에 마스크를 마스킹하고 CSS 마스크 속성을 적용하려는 이미지를 배치하겠습니다. CSS 마스크 속성은 이전 예제와 마찬가지로
/* masking with two comma-separated values */ .masked-element { mask-image: url(mask.png), none; } /* using external svg graphic as mask */ .masked-element { mask-image: url(mask.svg); }
.masked-element { mask-image: url(#mask1); }
.masked-element { mask-image: linear-gradient(black 0%, transparent 100%); }
마스크 모드 속성을 휘도로 설정하고 위의 이미지를 마스크로 사용하면 이전과 동일한 결과가 표시됩니다.
코드는 다음과 같습니다
Mask-Repeat는 배경 반복 속성과 거의 비슷합니다. 크기와 위치를 설정 한 후 마스크 레이어 이미지 타일링을 제어합니다.
<:> 가능한 값은 다음과 같습니다
-
공간 : 마스크 층 이미지가 반복되어 사용 가능한 영역 전체에서 간격을두고 있습니다. - 예를 들어, 이것은 마스크로 사용하려는 이미지입니다.
-
아래 코드 스 니펫은 마스크 반복 속성을 공간 값으로 설정합니다. -
마스크 위치 속성 마스크 위치 특성을 사용하여 마스크 레이어 이미지를 배치 할 수 있습니다. 이 속성을보다 친숙한 CSS 배경 이미지 속성에 사용하는 것과 동일한 값으로 설정할 수 있습니다. 초기 값은 중심입니다.
예를 들어 - 0 0 :
반복 : 마스크 레이어 이미지는 사용 가능한 공간에서 반복되지 않습니다.
<: :> 반복 -X : 마스크 레이어 이미지는 x 좌표를 따라 반복됩니다.

로 변경하면 뷰포트 오른쪽 하단에 마스크 레이어 이미지가 표시됩니다.
마스크 크기의 속성/* masking with two comma-separated values */ .masked-element { mask-image: url(mask.png), none; } /* using external svg graphic as mask */ .masked-element { mask-image: url(mask.svg); }

예를 들어 /* masking with two comma-separated values */
.masked-element {
mask-image: url(mask.png), none;
}
/* using external svg graphic as mask */
.masked-element {
mask-image: url(mask.svg);
}
위의 스 니펫에서
mask22.png 는 mask1.png 가 겹쳐집니다.
mask2.png 의 일부를 표시합니다. 브라우저는 아직 표준 키워드를 지원하지 않으므로 적어도 당분간 해당 합성 운영자 키워드 소스 아웃을 사용해야합니다.
<: :> 교차 : mask1.png 의 겹침 부분을 표시합니다. 그러나 CSS 마스크를 지원하는 유일한 브라우저 인 WebKit 브라우저는 비표준 복합 소스 인 키워드를 사용하는 경우에도 화면에 아무것도 표시되지 않는 것 같습니다.
/* masking with two comma-separated values */
.masked-element {
mask-image: url(mask.png), none;
}
/* using external svg graphic as mask */
.masked-element {
mask-image: url(mask.svg);
}
위의 코드에
SVG 그래픽에서 svg
위 내용은 CSS 및 SVG를 사용하여 브라우저에서 마스킹의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이것은 우리가 양식 접근성에 대해 한 작은 시리즈의 세 번째 게시물입니다. 두 번째 게시물을 놓친 경우 "사용자 초점 관리 : Focus-Visible"을 확인하십시오. ~ 안에

이 튜토리얼은 Smart Forms 프레임 워크를 사용하여 전문적인 JavaScript 양식을 작성하는 것을 보여줍니다 (참고 : 더 이상 사용할 수 없음). 프레임 워크 자체를 사용할 수 없지만 원칙과 기술은 다른 형태의 건축업자와 관련이 있습니다.

CSS Box-Shadow 및 개요 속성은 주제를 얻었습니다. 실제 테마에서 어떻게 작동하는지에 대한 몇 가지 예와 이러한 스타일을 WordPress 블록 및 요소에 적용 해야하는 옵션을 보자.

Svelte Transition API는 맞춤형 전환을 포함하여 문서를 입력하거나 떠날 때 구성 요소를 애니메이션하는 방법을 제공합니다.

이 기사에서 우리는 스크롤 바의 세계로 뛰어들 것입니다. 너무 화려하게 들리지는 않지만 잘 설계된 페이지가 손을 잡고 있습니다.

웹 사이트의 컨텐츠 프레젠테이션을 설계하는 데 얼마나 많은 시간을 소비합니까? 새 블로그 게시물을 작성하거나 새 페이지를 만들 때

NPM 명령은 서버 시작 또는 컴파일 코드와 같은 것들에 대한 일회성 또는 지속적으로 실행되는 프로세스로 다양한 작업을 실행합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
