Propriedade mask-mode

A propriedade mask-mode define a maneira como uma máscara interage com o fundo de um elemento. Ela determina se a máscara usará o canal alfa (transparência) ou os valores de luminância da imagem de máscara.

Sintaxe

cssseletor {
  mask-mode: alpha | luminance | match-source;
}

Valores

Valor Descrição
alpha A máscara usa apenas o canal alfa (transparência) da imagem.
luminance A máscara usa os valores de luminância da imagem (branco = visível, preto = transparente).
match-source Para imagens usa o canal alfa, para SVG usa luminance (valor padrão).

Exemplo . Modo alpha

Aplicação de máscara SVG no modo alpha:

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

Результат:

Exemplo . Modo luminance

Aplicação de máscara SVG no modo luminance:

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

Результат:

Exemplo . Máscara SVG com modo match-source

Usando o valor padrão (match-source) para SVG:

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;
}

Результат:

Exemplo . Composição com diferentes modos

Combinando máscaras com diferentes modos de composição:

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;
}

Результат:

Veja também

  • propriedade mask-image,
    define a imagem para a máscara
  • propriedade mask-composite,
    define a interação de múltiplas máscaras
  • propriedade mask,
    atalho para todas as propriedades de mascaramento