css - 跨浏览器 CSS3 关键帧动画 Firefox

标签 css firefox animation css-transforms css-animations

我使用 CSS3 和关键帧在播放按钮(这是一个 anchor 标记)上有一个简单的“脉动”效果。

虽然它在 Chrome 和 Safari 中运行完美,但在 Firefox 中似乎无法运行。有谁知道为什么?

li > a {

    -webkit-animation: pulsate 3s ease-in-out;
    -moz-animation: pulsate 3s ease-in-out;
    -o-animation: pulsate 3s ease-in-out;
    animation: pulsate 3s ease-in-out;

    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

@-webkit-keyframes pulsate {
    0% {
        -webkit-transform: scale(0.8, 0.8);
        -moz-transform: scale(0.8, 0.8);
        -o-transform: scale(0.8, 0.8);
        transform: scale(0.8, 0.8);
        opacity: 0.3;
    }

    50% {
        -webkit-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
        opacity: 1.0;
    }

    100% {
        -webkit-transform: scale(0.8, 0.8);
        -moz-transform: scale(0.8, 0.8);
        -o-transform: scale(0.8, 0.8);
        transform: scale(0.8, 0.8);
        opacity: 0.3;
    }
}

如有任何帮助,我们将不胜感激。谢谢!

最佳答案

您需要在其中包含特定于浏览器的关键帧动画及其特定于浏览器的转换

@-webkit-keyframes pulsate {
    0% {
        -webkit-transform: scale(0.8, 0.8);
        opacity: 0.3;
    }    
    50% {
        -webkit-transform: scale(1, 1);
        opacity: 1.0;
    }    
    100% {
        -webkit-transform: scale(0.8, 0.8);
        opacity: 0.3;
    }
}
@-moz-keyframes pulsate {
    0% {
        transform: scale(0.8, 0.8);
        opacity: 0.3;
    }    
    50% {
        transform: scale(1, 1);
        opacity: 1.0;
    }    
    100% {
        transform: scale(0.8, 0.8);
        opacity: 0.3;
    }
}
@-ms-keyframes pulsate {
    0% {
        -ms-transform: scale(0.8, 0.8);
        opacity: 0.3;
    }    
    50% 
        -ms-transform: scale(1, 1);
        opacity: 1.0;
    }    
    100% {
        -ms-transform: scale(0.8, 0.8);
        opacity: 0.3;
    }
}
@-o-keyframes pulsate {
    0% {
        transform: scale(0.8, 0.8);
        opacity: 0.3;
    }    
    50% 
        transform: scale(1, 1);
        opacity: 1.0;
    }    
    100% {
        transform: scale(0.8, 0.8);
        opacity: 0.3;
    }
}
@keyframes pulsate {
    0% {
        transform: scale(0.8, 0.8);
        opacity: 0.3;
    }    
    50% {
        transform: scale(1, 1);
        opacity: 1.0;
    }    
    100% {
        transform: scale(0.8, 0.8);
        opacity: 0.3;
    }
}

jsFiddle

此外,您应该添加 -ms-animation 等效项以获得完整的浏览器支持。


现在,很多这些都可以安全地排除在外。查看this post找出您需要包含哪些以支持您的目标浏览器。

关于css - 跨浏览器 CSS3 关键帧动画 Firefox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20617601/

相关文章:

css - ie中的表格边框问题

javascript - Firefox 57 检查控制台中的对象消失了

javascript - Firefox 中的 click() 方法

javascript - Firefox-Addon 如何找到 window.name ="mywindow"的选项卡?

javascript - 如何编写 JS 事件和 CSS 过渡时间?

javascript - 由于添加另一个元素而移动的元素的 DOM 动画

javascript - highcharts minPointLength 不适用于非堆叠条形图

javascript - 第三级 JQuery 下拉列表不显示

css - 为什么这个 CSS Accordion 不能在 IE8 中工作?

c# - 在 C# 中编辑 GIF