CSS Keyframe animations for all browsers?

2019-02-25 15:24发布

I have a swing animation that I would like to work on all (modern) browser. Do I have the correct css?

Also, what are the other browsers equivalent for: -webkit-transform-origin:top;

also, is there an easier way to write this out, seems like a lot of code? Im using less.

.bow{   
    -webkit-animation: swing 3s infinite ease-in-out;
    -moz-animation:    swing 3s infinite ease-in-out;
    -o-animation:      swing 3s infinite ease-in-out;
    -ms-transition:    swing 3s infinite ease-in-out; 
    animation:         swing 3s infinite ease-in-out;
}

@-webkit-keyframes swing{
    0%{-webkit-transform:rotate(-3deg)}
    50%{-webkit-transform:rotate(3deg)}
    100%{-webkit-transform:rotate(-3deg)}
}

@-moz-keyframes swing{
    0%{-moz-transform:rotate(-3deg)}
    50%{-moz-transform:rotate(3deg)}
    100%{-moz-transform:rotate(-3deg)}
}

@-o-keyframes swing {
    0%{-o-transform:rotate(-3deg)}
    50%{-o-transform:rotate(3deg)}
    100%{-o-transform:rotate(-3deg)}
}

@-ms-keyframes swing {
    0%{-ms-transform:rotate(-3deg)}
    50%{-ms-transform:rotate(3deg)}
    100%{-ms-transform:rotate(-3deg)}
}

@keyframes swing {
    0%{transform:rotate(-3deg)}
    50%{transform:rotate(3deg)}
    100%{transform:rotate(-3deg)}
}

标签: css css3 less
2条回答
爷、活的狠高调
2楼-- · 2019-02-25 15:42

for animation use can use:

.animation(@value){
    -webkit-animation: @value;
    -moz-animation:    @value;
    -o-animation:      @value;
    -ms-transition:    @value;
    animation:         @value;
}

.test{
  .animation(swing 3s infinite ease-in-out);
}

.test1{
  .animation(~"swing 3s infinite, swing 3s infinite");
}

for the keyframes in Less, it's kind of strange: How to set keyframes name in LESS

查看更多
孤傲高冷的网名
3楼-- · 2019-02-25 15:56

I have a swing animation that I would like to work on all (modern) browser. Do I have the correct css?

This question does not fit SO... just prepare a Fiddle, try it yourself, and IF it does not work, come back asking WHY it does not work. Don't post code asking IF it works.

Also, what are the other browsers equivalent for: -webkit-transform-origin:top;

  • transform-origin
  • -ms-transform-origin

also, is there an easier way to write this out, seems like a lot of code? Im using less.

You can generate prefixed code on-the-fly with Prefix Free, or at compile time with Prefixr, but since you are using LESS, take a look at LESS Prefixer.

查看更多
登录 后发表回答