Возможно ли установить градиентную рамку-тень для div с фоновым изображением?

#html #css

#HTML #css

Вопрос:

У меня есть div, у которого есть изображение в качестве фонового изображения, мне нужно установить линейную градиентную рамку-тень, но он не может получить два фоновых изображения. Мне нужно что-то вроде изображения ниже введите описание изображения здесь

мой HTML-код:

 <div class="top-container"></div>
  

css:

  .top-container {
    position: relative;
    min-height: 632px;
    background-position: bottom;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: auto;
    padding-top: 25px;
    background-image: url("/assets/images/homepage-images/header-desk-bg-img.jpg");

  }
  

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

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

1. Прежде всего, вам не хватает «(двойные кавычки) в <div class="top-container></div>

Ответ №1:

Вы можете сделать это, добавив box-shadow свойство.

Я не знаю, какие значения вы должны ему присвоить, но это отличный инструмент, в котором вы можете поиграть со box-shadow значениями, чтобы настроить его так, как вам больше всего нравится. https://www.cssmatic.com/box-shadow

Итак, к концу вашей попытки вы получите что-то вроде этого:

  .top-container {
    position: relative;
    min-height: 632px;
    background-position: bottom;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: auto;
    padding-top: 25px;
    background-image: url("/assets/images/homepage-images/header-desk-bg-img.jpg");
    box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75);
  }
  

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

1. но это не градиент, я знаю, что могу установить рамку-тень, но мне нужна градиентная рамка-тень

2. Вы можете настроить тень окна так, чтобы она была градиентной. Вы проверяли сайт css matic?

Ответ №2:

Вы можете использовать ::after , если хотите применить linear-gradient .

 .top-container{
  width: 50px;
  height: 50px;
  margin: 20px;
  background: cyan;
}

.top-container::after{
  position: absolute;
  content: '';
  display: block;
  width: 50px;
  margin-top: 50px;
  height: 10px;
  background: linear-gradient(to bottom, #ccc, transparent);;
}  
 <div class='top-container'></div>  

Свойство CSS box-shadow также может выполнить эту работу.

 .top-container{
  width: 50px;
  height: 50px;
  margin: 20px;
  background: cyan;
  box-shadow: 0 0 10px grey;
}  
 <div class='top-container'></div>  

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

1. но это не градиент, я знаю, что могу установить рамку-тень, но мне нужна градиентная рамка-тень

2. используйте ::after для этого я отредактирую свой пост, чтобы показать вам фрагмент кода