Альтернатива фильтру теней для отображения тени вокруг пользовательской фигуры

В попытке создать тени вокруг пользовательских фигур я обнаружил CSS-свойство фильтра drop-shadow. Однако после его реализации я понял, что это значительно замедляет работу сайта.

Поэтому я ищу альтернативу, чтобы получить тот же эффект без ущерба для скорости загрузки страницы.

Основное содержимое сайта окружено оболочкой shadow-box с использованием тени box, но это не может быть использовано для конечного раздела из-за прозрачной части фона.

Я пытаюсь достичь тени, которая напоминает тень от тени.

Вот jsFiddle, иллюстрирующий, как это выглядит в настоящее время

и вот это можно увидеть на реальном сайте

HTML

<div class="container shadow-box no-padding"></div>
  <div class="container justify-content-center">
  <section class="light-bg end-section" id="portfolio"></section>
</div>

CSS

.container{
  width:70%;
  margin:auto;
}    
.shadow-box{
  background:green;
  height:200px;
  -webkit-box-shadow: 0px 0px 21px 8px rgba(0, 0, 0, 0.6) !important;
  -moz-box-shadow: 0px 0px 21px 8px rgba(0, 0, 0, 0.6) !important;
  -ms-box-shadow: 0px 0px 21px 8px rgba(0, 0, 0, 0.6) !important;
  -o-box-shadow: 0px 0px 21px 8px rgba(0, 0, 0, 0.6) !important;
  box-shadow: 0px 0px 21px 8px rgba(0, 0, 0, 0.6) !important;
}    
.end-section {
  background: radial-gradient(circle at 50% 100%, transparent 50px, #c1c1c1 50px);
  z-index: 5;
  height:200px;
  filter: drop-shadow(0 30px 15px rgba(0, 0, 0, 0.6))
  drop-shadow(0 10px 5px rgba(0, 0, 0, 0.6));
}    
.light-bg:before {
  content: '';
  position: absolute;
  z-index: 3;
  top: -50px;
  left: 50%;
  margin-left: -50px;
  height: 50px;
  width: 100px;    
  border-top-left-radius: 100px;
  border-top-right-radius: 100px;
  background: #c1c1c1;
}

0 ответов

Другие вопросы по тегам