css - 不透明度动画不适用于 IE

标签 css internet-explorer animation

我有一个动画菜单,其中包含一些级联不透明度动画,这些动画在打开菜单和悬停每个按钮时执行。它只是每 100 毫秒向菜单上的每个图标添加“.colorHigh”类。

你可以看到一个 live demo HERE (点击右下角的菜单按钮执行)。

在几乎所有浏览器(Opera、Chrome、FF...)中打开菜单时,动画都可以正常工作,但如果您在 IE(在本例中为 IE v11)上打开它,它只是动画,根本没有不透明度,结果你可以在这张图片中看到:

result


pleeease 之后给出了不透明度方法(过滤器),我认为动画拼写正确,如下所示:

@-webkit-keyframes color_change {  0% { opacity: 0; filter:alpha(opacity=0); }  50% { opacity: 0.3; filter:alpha(opacity=30); }  100% { opacity: 0.1; filter:alpha(opacity=10); }}
@-ms-keyframes color_change {  0% { opacity: 0; filter:alpha(opacity=0); }  50% { opacity: 0.3; filter:alpha(opacity=30); }    100% { opacity: 0.1; filter:alpha(opacity=10); }}
@keyframes color_change {  0% { opacity: 0; filter:alpha(opacity=0); }  50% { opacity: 0.3; filter:alpha(opacity=30); }    100% { opacity: 0.1; filter:alpha(opacity=10); }}

.colorHigh{
-webkit-animation:color_change  0.8s ease-in forwards ;
    -ms-animation:color_change  0.8s ease-in forwards ;
        animation:color_change  0.8s ease-in forwards ;}

最佳答案

IE 似乎没有在伪元素上应用不透明度。尝试在伪元素上设置 opacity:inherit,如下所示:.icon-social::before {opacity:inherit;}

这解决了它。至少在 IE11 中。现在无法测试 IE10。

有趣的行为。我自己会记住这一点。


注意:在这种特殊情况下,可以通过影响其颜色来完成伪元素的近乎完美的不透明度模拟器,请记住 color:transparent 是一种有效的颜色,并且在 IE 11 上正常工作:

例子

@-webkit-keyframes color_out {  0% { color: #BABABA; }  100% { color: transparent; }}
@-ms-keyframes color_out {  0% { color: #BABABA; }    100% { color: transparent; }}
@keyframes color_out {  0% { color: #BABABA; }    100% { color: transparent; }}

关于css - 不透明度动画不适用于 IE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25746286/

相关文章:

javascript - 使用 jquery 将小拉丁字母自动递增到 html 段落

html - CSS 文本溢出图标

javascript - 更改单选按钮名称javascript在IE中不起作用

javascript - 在没有库的 JavaScript 中检查 IE 小于 9 的最佳方法

jquery - 带有文本的 div 上的 SlideDown 效果

HTML/CSS 闪烁动画网站

javascript - 仅当鼠标向下滚动到该特定部分时,是否可以开始动画此文本效果?

css - 仅在单击时展开 float 的 LI,而不是任何其他 li

javascript - onReadyStateChange 未在 IE 中针对 XHR 请求触发

ios - iOS 中 UIImageView 的更快替代品