我的网站上的Chrome中没有运行CSS3动画

时间:2015-01-07 10:49:02

标签: css css3 google-chrome sass

我正在尝试使用CSS3为SVG制作动画。你可以在这里看到一个例子 -

http://codepen.io/MyXoToD/pen/vBlfs

然而,这个示例与Chrome中的应用完全一样,但是当我在我的网站上实现代码时,它不会运行代码。但它在Firefox中运行得非常好。当我在Chrome中检查元素时,它会在动画属性中添加一行,并显示错误消息“无效的属性值”。然而,当我看到这个例子时,我会做同样的事情而且我没有得到同样的错误。

我有点困惑,我已经调试了一段时间了。它不能是我的Chrome版本(版本39.0.2171.95米)。

虽然经过一些小修改后我的代码几乎完全相同,但这是我的代码段:

img {
  max-width: 80%;
  width: 100%;
  //position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  opacity: 0;
  animation-name: show;
  animation-delay: 6s;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
  animation-timing-function: linear;
}

svg {
  max-width: 80%;
  width: 100%;
  //position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  path {
    stroke-width: 2;
    stroke: black;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
    animation-name: draw;
    animation-timing-function: linear;
    animation-duration: 3s;
    &.bird {
      stroke: black;
      stroke-dasharray: 2810;
      stroke-dashoffset: 2810;

    }

  }
}


}

@keyframes draw {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes show {
  to {
    opacity: 1;
  }
}

1 个答案:

答案 0 :(得分:2)

您已在Codepen上启用了--prefix-free模式。它允许您在任何地方仅使用未加前缀的CSS属性。它在幕后工作,只在需要时将当前浏览器的前缀添加到任何CSS代码中。

例如,在Codepen上你会看到:

animation-name: show;

而不是:

animation-name: show;
-webkit-animation-name: show;
-moz-animation-name: show;