Propriedade mask-image

A propriedade mask-image permite definir uma imagem que será usada como máscara para um elemento. A máscara determina quais partes do elemento serão visíveis e quais serão ocultadas. Como máscara, você pode usar SVG, imagens PNG ou gradientes.

Sintaxe

cssseletor {
  mask-image: none | <image> | <url>;
}

Valores

Valor Descrição
none Desativa o mascaramento (valor padrão).
url() Caminho para a imagem de máscara (SVG, PNG).
linear-gradient() Gradiente linear como máscara.
radial-gradient() Gradiente radial como máscara.

Exemplo . Usando SVG como máscara

Aplicaremos uma imagem SVG de um coração como máscara em uma imagem:

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

Результат:

Exemplo . Usando gradiente como máscara

Aplicaremos um gradiente linear como máscara para um elemento:

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

Результат:

Exemplo . Usando elemento SVG como máscara

Criaremos uma máscara usando um elemento SVG e a aplicaremos a uma imagem:

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

Результат:

Veja também

  • propriedade mask-position,
    define a posição da máscara em relação ao elemento
  • propriedade mask-size,
    define o tamanho da máscara
  • propriedade mask-repeat,
    define a repetição da máscara
  • propriedade mask-mode,
    define como a máscara interage com o fundo
  • propriedade mask,
    atalho para todas as propriedades de mascaramento