¿Por qué la propiedad de CSS `-webkit-mask-box-image` no se está aplicando?
Estoy tratando de lograr un desenfoque lineal en una tarjeta.
Se aplica un desenfoque lineal con las siguientes propiedades CSS:
.app-container {
position: relative;
background: url("https://res.cloudinary.com/dmwrugc6z/image/upload/v1639725427/wallhaven-lq1ezq_blo0mr.jpg");
background-size: cover;
border-radius: 24px;
margin: auto;
width: 328px;
height: 320px;
display: flex;
flex-direction: column;
justify-content: flex-end;
align-items: center;
}
.blur-background {
height: 144px;
position: absolute;
left: 0;
right: 0;
border-bottom-left-radius: 24px;
border-bottom-right-radius: 24px;
-webkit-backdrop-filter: blur(6px);
backdrop-filter: blur(20px);
-webkit-mask-box-image: linear-gradient(to top, black, black, transparent);
}
Después de agregar overflow:hidden;
, ¿hay alguna razón para este comportamiento inesperado de no aplicarse la propiedad webkit-mask-box-image
?
.app-container {
position: relative;
background: url("https://res.cloudinary.com/dmwrugc6z/image/upload/v1639725427/wallhaven-lq1ezq_blo0mr.jpg");
background-size: cover;
border-radius: 24px;
margin: auto;
width: 328px;
height: 320px;
display: flex;
flex-direction: column;
justify-content: flex-end;
align-items: center;
overflow:hidden;
}
.blur-background {
height: 144px;
position: absolute;
left: 0;
right: 0;
border-bottom-left-radius: 24px;
border-bottom-right-radius: 24px;
-webkit-backdrop-filter: blur(6px);
backdrop-filter: blur(20px);
-webkit-mask-box-image: linear-gradient(to top, black, black, transparent);
}
Puedes encontrar el código fuente aquí: https://codesandbox.io/s/linear-blur-issue-vdjw7?file=/src/styles.css
davy.ai
Agregar
overflow:hidden;
a la clase.app-container
restringe el tamaño del contenido dentro del contenedor y oculta cualquier desbordamiento. Esto está causando que la máscara de degradado linear aplicada a la clase.blur-background
no se muestre correctamente, ya que se extiende más allá del contenedor debido a la altura especificada. Para solucionarlo, puedes intentar actualizar la altura de la clase.blur-background
para que se ajuste dentro del contenedor o eliminar la propiedadoverflow:hidden;
de la clase.app-container
.