Máscaras CSS, formas y perspectiva 3D

Laboratorio de máscaras y formas CSS

Máscaras CSS, shape-outside y perspectiva 3D, con demos en vivo | We.Inc

Difumina imágenes con degradados en mask-image, recorta formas con máscaras SVG, haz que el texto rodee círculos con shape-outside, compara clip-path con mask y crea una escena con perspectiva 3D.

Una máscara CSS oculta partes de un elemento usando la transparencia de una imagen: mask-image: linear-gradient(black, transparent) lo difumina hacia abajo. shape-outside hace que el texto vecino rodee un círculo o un polígono en lugar de un rectángulo. perspective en un elemento padre da profundidad real a los hijos rotados. Crea una máscara en el laboratorio y cópiala.

Qué herramienta para cada tarea

Empieza por el laboratorio de máscaras: elige un difuminado, un foco de luz o una forma recortada, muévelo sobre una imagen de ejemplo y copia el CSS con el prefijo -webkit- incluido. Debajo hay ejemplos editables de texto que rodea formas, de clip-path frente a mask y de una pequeña escena 3D, todo sin JavaScript.

Preguntas frecuentes

¿Qué diferencia hay entre clip-path y mask?

clip-path dibuja un contorno geométrico y todo lo que queda fuera se corta con un borde nítido. mask-image usa una imagen o un degradado, así que los bordes pueden ser suaves y parcialmente transparentes. Los clip paths son más sencillos para polígonos y círculos; las máscaras son la opción para difuminados, focos con bordes suaves y recortes con forma de logo.

¿Sigo necesitando -webkit-mask-image?

Las propiedades mask sin prefijo pasaron a ser Baseline a finales de 2023. Añadir también la versión -webkit- no cuesta nada y mantiene el efecto para los visitantes con versiones antiguas de Safari y Chromium.

¿Por qué no funciona mi shape-outside?

Comprueba tres cosas: el elemento debe ser flotante, necesita un ancho y un alto, y si usas una imagen como forma, debe ser del mismo origen o servirse con cabeceras CORS. Además, el texto solo rodea el lado opuesto al float.

¿Cómo difumino el borde de una lista con scroll?

Pon una máscara en el contenedor con scroll: mask-image: linear-gradient(to bottom, black 85%, transparent). Las últimas líneas se desvanecen como pista de que hay más contenido, y la máscara se queda con la caja en lugar de desplazarse con el contenido.

¿Qué valor debe tener perspective?

Es la distancia entre el espectador y el plano z = 0. Entre 600px y 1200px queda natural para tarjetas. Valores menores, como 300px, exageran la profundidad y deforman mucho los bordes cercanos.

Cómo decide una máscara qué se ve

Hacer que el texto rodee formas

Máscaras con degradados: difuminados y focos

Difuminar la parte inferior de un bloque

Totalmente visible hasta el 50 por ciento de la altura y después un difuminado suave hasta desaparecer.

Foco radial

Un degradado radial deja visible un círculo suave y oculta el resto del patrón.

Máscaras SVG y con data URI

Recortar un elemento en forma de estrella

El SVG va en línea como data URI, así que no hace falta ningún archivo extra. mask-size: contain mantiene la estrella entera dentro de la caja.

Cambiar el color de un archivo de icono con una máscara

El archivo del icono solo aporta la forma; background-color define el color, así que un solo SVG sirve para todos los temas y estados hover.

shape-outside: texto que rodea formas

Texto alrededor de un círculo

El float empuja el texto con shape-outside y se ve redondo gracias a border-radius. shape-margin añade espacio para respirar.

Texto a lo largo de un polígono diagonal

El mismo polígono controla tanto el recorte visible (clip-path) como el flujo del texto (shape-outside).

clip-path frente a mask

El mismo círculo, con borde nítido y con borde suave

A la izquierda se usa clip-path: circle(). A la derecha, una máscara con degradado radial y borde suavizado, algo que clip-path no puede hacer.

Comparativa de clip-path y mask

Una pequeña escena con perspectiva 3D

Tarjetas inclinadas en un espacio 3D compartido

perspective en el escenario y preserve-3d en el grupo colocan las tres tarjetas en un mismo espacio; translateZ lleva cada una a una profundidad distinta.

Referencia de propiedades de máscara

Propiedades individuales de mask y qué hacen

Círculo

Estrella

Corazón

Mancha

Laboratorio de máscaras

Tipo de máscara

Difuminado lineal

Foco

Forma SVG

Elemento con máscara. El tablero de ajedrez muestra dónde queda oculto.

Dirección

Totalmente visible hasta

Centro X

Centro Y

Radio sólido

Suavizado

Forma

Tamaño de la máscara

Copiar CSS

Empieza gratis · Sin tarjeta de crédito

Relacionado: Guías

Producto

Para quién es

Funciones

Recursos

Empresa

Mapa del sitio