转换后应用过滤器

时间:2016-04-01 15:03:36

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

我有一个交叉线的透明.png图像。如果应用drop-shadow CSS filter,则只会删除阴影线,而不是边界矩形(它与box-shadow不同)。

当我同时应用drop-shadow过滤器和transform: rotate时,Chrome和FF首先绘制阴影,然后旋转生成的图像(与阴影合并)。我希望旋转的图像能够投射阴影。 (好像有静态光源,当图像旋转时)。

纯CSS中有可能吗?

我看到的唯一解决方案是每次图像旋转时对阴影参数进行JS三角计算。

此致

1 个答案:

答案 0 :(得分:3)

我很确定此问题之前已经得到解答,但无法找到,所以请点击此处:

在基本元素上设置过滤器,并在内部元素中应用变换



.base {
  -webkit-filter: drop-shadow(10px 10px 0px red);
  filter: drop-shadow(10px 10px 0px red);
}

.element {
   animation: rotate 6s linear infinite;
  border: solid 3px green;
  border-top-left-radius: 40px;
  width: 200px;
  height: 200px;
  margin: 20px;
 }

@keyframes rotate {
  from {transform: rotate(0deg);}
  to {transform: rotate(360deg);}
}
    

<div class="base">
  <div class="element"></div>
</div>
&#13;
&#13;
&#13;