Анимация CSS3 не работает

Я создал анимацию для SVG, используя css3, которая отлично работает в Chrome и Firefox. Он частично работает в Safari, но не работает в Internet Explorer (IE9 +, который поддерживает анимацию css)

См. демонстрацию

CSS

@-webkit-keyframes dash {
  70%,80% {
    stroke-dashoffset: 0;
    fill-opacity: 0;
  }

  85% {
    fill-opacity: 0;
    stroke-opacity: 1;
  }

  95% {
    stroke: #17739D;
    stroke-dashoffset: -301;
    stroke-opacity: 0;
  }

  100% {
    fill-opacity: 1;
    stroke-dashoffset: -301;
  }
}

@-ms-keyframes dash {
  70%,80% {
    stroke-dashoffset: 0;
    fill-opacity: 0;
  }

  85% {
    fill-opacity: 0;
    stroke-opacity: 1;
  }

  95% {
    stroke: #17739D;
    stroke-dashoffset: -301;
    stroke-opacity: 0;
  }

  100% {
    fill-opacity: 1;
    stroke-dashoffset: -301;
  }
}

@-moz-keyframes dash {
  70%,80% {
    stroke-dashoffset: 0;
    fill-opacity: 0;
  }

  85% {
    fill-opacity: 0;
    stroke-opacity: 1;
  }

  95% {
    stroke: #17739D;
    stroke-dashoffset: -301;
    stroke-opacity: 0;
  }

  100% {
    fill-opacity: 1;
    stroke-dashoffset: -301;
  }
}


@keyframes dash {
  70%,80% {
    stroke-dashoffset: 0;
    fill-opacity: 0;
  }

  85% {
    fill-opacity: 0;
    stroke-opacity: 1;
  }

  95% {
    stroke: #17739D;
    stroke-dashoffset: -301;
    stroke-opacity: 0;
  }

  100% {
    fill-opacity: 1;
    stroke-dashoffset: -301;
  }
}

#Layer_1 { 
    margin-left: auto; 
    margin-right : auto;  
    top: 50%; 
    position: absolute; 
    left: 50%; 
    margin-left: -65px; 
    margin-top: -35px;   
}

svg {
  background: #fff;
  display: block;
}

svg * {
  stroke: #666;
  #stroke: #17739D;
  stroke-width: 1;
  fill-opacity: 0;
  stroke-dasharray: 350;
  stroke-dashoffset: 440;
}

svg #bp_svg * {

  -webkit-animation-name : dash;
  -moz-animation-name : dash;
  -ms-animation-name : dash;
  animation-name : dash;

  -webkit-animation-duration: 4s;
  -moz-animation-duration: 4s;
  -ms-animation-duration: 4s;
  animation-duration: 4s;

  -webkit-animation-timing-function : linear;
  -moz-animation-timing-function : linear;
  -ms-animation-timing-function : linear;
  animation-timing-function : linear;

  -webkit-animation-fill-mode : forwards;
  -moz-animation-fill-mode : forwards;
  -ms-animation-fill-mode : forwards;
  animation-fill-mode : forwards;
}

Может ли кто-нибудь помочь мне разобраться, что делать, чтобы он работал правильно в Safari и IE?

Ответ 1

Хотя анимация CSS3 поддерживается в IE9, анимации SVG даже не поддерживаются в IE11, и трудно сказать, будут ли они когда-либо такими. Вам, вероятно, придется либо полагаться на анимированные HTML-элементы, либо использовать JavaScript, который не будет полезен при аппаратном ускорении, используемом для рендеринга CSS-анимаций, но все же может быть жизнеспособным решением.

Другая идея заключалась бы в том, чтобы перенерировать ее и развернуть ее как gif, либо каждый раз, либо только в IE.

Источник: http://caniuse.com/#feat=svg-smil

Ответ 2

В IE9 анимации CSS3 не поддерживаются, что объясняет, почему он не работает в IE9. То же самое относится и к Safari, это может помочь также предоставить версии каждого браузера. Пожалуйста, обратитесь к этому списку поддерживаемых функций: http://caniuse.com/css-animation

Ответ 3

Я бы предложил использовать библиотеку javascript raphaeljs. Он обладает большими возможностями в анимации svg.

В настоящее время Raphael поддерживает Chrome 5.0+ Firefox 3.0+, Safari 3.0+, Opera 9.5+ и Internet Explorer 6.0 +

http://raphaeljs.com/

http://raphaeljs.com/playground.html - быстрый просмотр.