es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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

Tags:  , , , ,

Answer

  1. Avatar for 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 propiedad overflow:hidden; de la clase .app-container.

Comments are closed.