Как мне перекрыть второй div над первым, если я использую mask-image на первом?

#html #css #gradient #mask

#HTML #css #градиент #маска

Вопрос:

Вот как это выглядит

введите описание изображения здесь

Css для первого div, здесь я использую mask-image, но я не хочу, чтобы это повлияло на приведенный ниже div продукта. Что можно сделать для этого?

 .home__image {
  width: 100%;/* height: 400px; */
  z-index: -1;
  margin-bottom: -450px;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
}
  

Второй div

 .product {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  margin: 10px;
  padding: 20px;
  width: 100%;
  min-width: 100px;
  max-height: 400px;
  background-color: white(0, 0, 255, 0.5);
  z-index: -1;
}

.product>img {
  max-height: 200px;
  width: 100px;
  object-fit: contain;
  margin-bottom: 15px;
}
  

Комментарии:

1. Будет намного проще, если мы сможем увидеть этот код вживую. Можете ли вы создать codepen или что-то в этом роде?

Ответ №1:

Не используйте margin для этого. Использование отрицательного поля повлияет на макет и другие элементы. Используйте абсолютную позицию. Поместите оба div с абсолютной позицией в родительский div с относительной позицией. Для маскировки вы можете использовать псевдоклассы до и после.