속성 mask-mode

속성 mask-mode는 마스크가 요소의 배경과 상호작용하는 방식을 설정합니다. 이것은 마스크가 알파 채널(투명도)을 사용할지, 또는 마스크 이미지의 휘도 값(luminance)을 사용할지를 정의합니다.

구문

css선택자 {
  mask-mode: alpha | luminance | match-source;
}

값

값 설명
alpha 마스크는 이미지의 알파 채널(투명도)만을 사용합니다.
luminance 마스크는 이미지의 휘도 값을 사용합니다 (흰색 = 보임, 검정색 = 투명).
match-source 이미지의 경우 알파 채널을, SVG의 경우 luminance를 사용합니다 (기본값).

예제 . Alpha 모드

Alpha 모드에서 SVG 마스크 적용:

html<img id="image" src="image.jpg">
css#image {
  width: 500px;
  height: 281px;
  mask: url("heart.svg") center/150px no-repeat;
  mask-mode: alpha;
}

Результат:

예제 . Luminance 모드

Luminance 모드에서 SVG 마스크 적용:

html<img id="image" src="image.jpg">
css#image {
  width: 500px;
  height: 281px;
  mask: url("heart.svg") center/150px no-repeat;
  mask-mode: luminance;
}

Результат:

예제 . Match-source 모드의 SVG 마스크

SVG에 대해 기본값(match-source) 사용:

html<img id="image" src="image.jpg">
<svg width="0" height="0">
  <mask id="svg-mask">
    <path d="M150 15L183 111L285 111L204 171L237 267L150 216L63 267L96 171L15 111L117 111Z" fill="white"/>
  </mask>
</svg>
css#image {
  width: 500px;
  height: 281px;
  mask: url(#svg-mask);
  mask-mode: match-source;
}

Результат:

예제 . 서로 다른 모드의 합성

서로 다른 블렌딩 모드를 가진 마스크 결합:

html<img id="image" src="image.jpg">
css#image {
  width: 500px;
  height: 281px;
  mask: 
    url("heart.svg") 100px 50px / 150px no-repeat alpha,
    url("arrow.svg") 200px 30px / 150px no-repeat luminance;
  mask-composite: add;
}

Результат:

함께 보기

  • 속성 mask-image,
    마스크에 사용할 이미지를 지정
  • 속성 mask-composite,
    여러 마스크의 상호작용을 정의
  • 속성 mask,
    모든 마스킹 속성을 위한 단축 속성