透明图像上的阴影和背景颜色

时间:2017-02-21 21:15:42

标签: css drop-shadow

设置背景会导致阴影滤镜忽略自由格式,并仅将其应用于图像矩形轮廓。

img {
  background: lightgreen;
  filter: drop-shadow(0 0 10px red);
}

请参阅https://jsbin.com/zoseru/2/edit?css,output

1 个答案:

答案 0 :(得分:0)

这可以使用SVG过滤器实现:

<!-- in your html -->
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" class="filterdef">
  <filter id="background" x="0" y="0" width="100%" height="100%">
    <feFlood flood-color="lightgreen" result="bg"></feFlood>
    <feComposite in2="bg" in="SourceGraphic"></feComposite>
  </filter>
</svg>
// css
img {
  filter: drop-shadow(0 0 10px red) url(#background);
}

请注意过滤器的顺序非常重要。

https://jsbin.com/zoseru/3/edit?html,css,output