【问题标题】:Firefox CSS3 animations not working at allFirefox CSS3 动画根本不起作用
【发布时间】:2013-05-12 20:06:54
【问题描述】:

所以我坚持我的动画代码做错了什么。我有

-webkit-animation: wave 200s linear 0s infinite;
-moz-animation: wave 200s linear 0s infinite;
animation: wave 200s linear 0s infinite;

    @keyframes wave {
    0% {
    background-position-x: 0%;
    }
    100% {
    background-position-x: 100%;
    }

    }

    @-moz-keyframes wave {
    0% {
    background-position-x: 0%;
    }
    100% {
    background-position-x: 100%;
    }

    }

    @-webkit-keyframes wave {
    0% {
        top: 20px;
    background-position-x: 0%;
 }
100% {
    top: 60px;
   background-position-x: 100%;
}

}

现在 Chrome 和 Safari 工作正常。一旦我启动Firefox,这个动画就根本不播放。有没有可能我在这里忽略了一些东西?我整天都在尝试不同的方法,但似乎没有任何效果。非常感谢任何帮助!谢谢!

编辑:这是jsfiddle。如您所见,它适用于 chrome 但不适用于 FF。

【问题讨论】:

  • 你有没有机会拼凑一个jsfiddle
  • 给我几分钟。
  • 我把 jsfiddle 放了。

标签: html css firefox css-animations


【解决方案1】:

哦,我知道答案了!几周前我实际上遇到了这个问题,所以动画没有任何问题,但 background-position-x 样式。我想这实际上不是一种真正的风格(尽管有几个浏览器允许你使用它)。 Firefox 根本不支持它。所以你必须做 background-position: x y 当你只想改变 X 时,总是要把 y 放在那里很烦人。

【讨论】:

    【解决方案2】:

    问题在于您使用了非法属性background-position-x 而不是使用background-position 属性并且指定水平偏移量和垂直偏移量为0。改变它会解决它:

    Example

    @keyframes wave {
    
        0% {
        background-position: 0% 0;
        }
    
        100% {
        background-position: 100% 0; /* Obviously do the same for the prefixes */
        }
    }
    

    【讨论】:

    • 嗯。虽然这似乎在我的 Firefox 中的 jsfiddle 上工作,但我的实际网站仍然无法工作......真是太痛苦了。我应该为此使用 jquery 动画吗?
    • 不-它应该可以正常工作-如果您发布所有相关代码,我不介意看一下:)
    • 这里是新的fiddle 以及我正在使用的父代码。代码在li 中,用于视差插件。
    • 它在 FF 15.0.01 上对我来说很好 - 而且你没有将 -webkit 属性从 background-position-x 更改为 background-position
    • 是的,jsfiddle 也适合我。无论哪种情况,动画都不是什么大不了的事,如果我无法弄清楚,我会放弃它。不过感谢您的帮助,我会将您的评论标记为答案,因为它是,我现在只是有一组不同的问题:P
    猜你喜欢
    • 1970-01-01
    • 2014-07-18
    • 1970-01-01
    • 2015-03-05
    • 2013-06-27
    • 1970-01-01
    • 2014-10-01
    • 2015-11-05
    • 1970-01-01
    相关资源
    最近更新 更多