阴影过滤器的替代方案,用于在自定义形状周围显示阴影

时间:2018-08-07 11:07:14

标签: html css css3 css-filters drop-shadow

试图在自定义形状周围创建阴影,我发现了阴影过滤器CSS属性。但是在实施之后,我意识到它大大降低了网站速度。

因此,我正在寻找一种替代方法以获得相同的效果而又不影响页面的加载速度。

该站点的主要内容被使用阴影的阴影框包装包围,但是由于背景透明,因此无法用于结尾部分。

我正在尝试获得类似于阴影盒阴影的阴影。

这是jsFiddle,说明了当前的外观

在这里可以在real site

上看到它

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 个答案:

没有答案