Propiedad mask-image

La propiedad mask-image permite definir una imagen que se utilizará como máscara para un elemento. La máscara determina qué partes del elemento serán visibles y cuáles estarán ocultas. Como máscara se pueden utilizar imágenes SVG, PNG o gradientes.

Sintaxis

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

Valores

Valor Descripción
none Desactiva el enmascaramiento (valor por defecto).
url() Ruta a la imagen-máscara (SVG, PNG).
linear-gradient() Gradiente lineal como máscara.
radial-gradient() Gradiente radial como máscara.

Ejemplo . Uso de SVG como máscara

Apliquemos una imagen SVG de un corazón como máscara sobre una imagen:

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

Результат:

Ejemplo . Uso de gradiente como máscara

Apliquemos un gradiente lineal como máscara para un 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);
}

Результат:

Ejemplo . Uso de elemento SVG como máscara

Creemos una máscara usando un elemento SVG y apliquémosla a una imagen:

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

Результат:

Véase también

  • propiedad mask-position,
    define la posición de la máscara relativa al elemento
  • propiedad mask-size,
    define el tamaño de la máscara
  • propiedad mask-repeat,
    define la repetición de la máscara
  • propiedad mask-mode,
    define cómo la máscara interactúa con el fondo
  • propiedad mask,
    abreviatura para todas las propiedades de enmascaramiento