CSS:阴影过滤器上的转换



所以我试图在png文件中透明地将阴影投射到非矩形对象上。到目前为止,这是有效的,但当我试图在悬停在图像上时添加过渡效果时,过滤器似乎会最大化它们的设置值,然后在过渡功能的计时器结束时迅速反弹到实际设置值。我运行的是Chrome 28 Mac,但也出现在Safari上。

我在这里展示了这种效果:http://jsfiddle.net/dbananas/3pMS8/

transition: all 0.2s ease-in-out;
-webkit-filter: drop-shadow(0px 0px 13px rgba(0, 0, 0, 0.9));

建议谁来解决这个问题并使过渡顺利?

谢谢,db

我会检查一下这在Firefox中是否有效。如果非要我猜测的话,我会说这是Webkit中的一个错误(检查Firefox可以帮助确认这是浏览器错误,而不是代码中的错误)。您可以在此处为其提交错误报告:https://bugs.webkit.org/

也就是说,为了解决这个问题,你可能必须重新考虑如何解决你的问题。

例如,如果对文本执行此操作,则可以使用可设置动画的text-shadow属性。

如果这是一张真实的图像,你可以制作一张"阴影图像",你可以淡化不透明度(如果你在内容图像上使用它),或者交换到(如果你交换背景图像)。

编辑我找到了本教程,它可能对您有用。这是一种图像交叉渐变效果,就像我之前建议的那样。它有一些不同的变体(包括纯CSS变体),所以您可能会对其进行调整,使其适合您。基本上,向img添加背景,然后淡入/淡出img元素本身以创建效果。我同意这并不理想(如果-webkit-filter技术在浏览器中正常工作,那么它可以说是优越的)。

这看起来确实是一个bug。在动画进行过程中,阴影半径似乎受到了不同的处理(并应用了加速过滤器)。我已将此记录为Chromehttp://crbug.com/266957

作为一种解决方法,您可以将-webkit transform:translateZ(0)应用于带有阴影的元素,这将强制它始终加速。

相关内容

  • 没有找到相关文章

最新更新