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
selector {
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:
<img id="image" src="image.jpg">
#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:
<div id="elem"></div>
#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:
<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>
#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