我正在尝试获得跨浏览器兼容的模糊动画效果,尽管我似乎失败了!
我正在使用以下内容:
.image-container img.animate-me {
-webkit-animation: focus 4s;
-moz-animation: focus 4s;
-ms-animation: focus 4s;
-o-animation: focus 4s;
animation: focus 4s;
-webkit-animation-fill-mode: forwards;
-moz-animation-fill-mode: forwards;
-ms-animation-fill-mode: forwards;
-o-animation-fill-mode: forwards;
animation-fill-mode: forwards;
}
@keyframes focus {
from {
filter: url('blur.svg#blur');
filter: progid:DXImageTransform.Microsoft.blur(PixelRadius='10');
filter: blur(10px);
-o-filter: blur(10px);
-ms-filter: blur(10px);
}
to {
filter: url('focus.svg#focus');
filter: none;
filter:progid:DXImageTransform.Microsoft.blur(PixelRadius='0');
-o-filter: blur(0px);
-ms-filter: blur(0px);
}
}
@-webkit-keyframes focus {
from {
-webkit-filter: blur(10px);
}
to {
-webkit-filter: blur(0px);
}
}
@-moz-keyframes focus {
from {
filter: url('blur.svg#blur');
}
to {
filter: url('focus.svg#focus');
}
}
现在有一些事情必须指出。
前缀的东西刚刚弄乱了,事实上我不知道第一个@keyframes 规则的一半现在在做什么!有人愿意告诉我哪些规则是不相关或无用的吗?
Chrome(以及整个
@-webkit-keyframes
规则)完美运行……好老的、严肃的、无微软的 Chrome。我们从未怀疑过它!Internet Explorer 像往常一样装傻,表现得好像从来没有听说过 CSS3 这个词。我希望它可以追溯到 IE8,所以我不能责怪它,但我一直在 IE10 中进行测试,我希望至少会看到某种反应。
filter: url('blur.svg#blur');
如下:<svg version="1.1" xmlns="http://www.w3.org/2000/svg"> <filter id="blur"> <feGaussianBlur stdDeviation="10" /> </filter> </svg>
当作为 CSS 规则添加时,这会使图像模糊,但在 @keyframe 动画中似乎没有任何作用。焦点版本将 stdDeviation 设置为 10。
任何帮助表示赞赏!