mask-image 속성

mask-image 속성을 사용하면 요소의 마스크로 사용될 이미지를 설정할 수 있습니다. 마스크는 요소의 어떤 부분이 보이고 어떤 부분이 숨겨질지를 결정합니다. 마스크로는 SVG, PNG 이미지 또는 그라데이션을 사용할 수 있습니다.

문법

css선택자 {
  mask-image: none | <image> | <url>;
}

값

값 설명
none 마스킹을 비활성화합니다 (기본값).
url() 마스크 이미지(SVG, PNG)의 경로.
linear-gradient() 마스크로 사용할 선형 그라데이션.
radial-gradient() 마스크로 사용할 방사형 그라데이션.

예제 . SVG를 마스크로 사용하기

이미지에 하트 모양의 SVG 이미지를 마스크로 적용합니다:

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

Результат:

예제 . 그라데이션을 마스크로 사용하기

요소에 선형 그라데이션을 마스크로 적용합니다:

html<div id="elem"></div>
css#elem {
  width: 500px;
  height: 300px;
  background: linear-gradient(45deg, red, blue);
  mask-image: linear-gradient(to right, transparent, black);
}

Результат:

예제 . SVG 요소를 마스크로 사용하기

SVG 요소를 사용하여 마스크를 만들고 이미지에 적용합니다:

html<img id="image" src="image.jpg">
<svg width="0" height="0">
  <mask id="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-image: url(#mask);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
}

Результат:

함께 보기

  • mask-position 속성,
    요소에 대한 마스크의 위치를 정의합니다
  • mask-size 속성,
    마스크의 크기를 정의합니다
  • mask-repeat 속성,
    마스크의 반복을 정의합니다
  • mask-mode 속성,
    마스크가 배경과 어떻게 상호작용하는지 정의합니다
  • mask 속성,
    모든 마스킹 속성을 위한 단축 속성