css – 链式变换动画不具有动画效果

前端之家收集整理的这篇文章主要介绍了css – 链式变换动画不具有动画效果前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在处理动画时,我遇到了一个没有记录且意外的行为:

当使用transform(任何转换属性,仅转换属性)链接动画时,第一个动画将具有从状态A转换到状态B的预期行为,而第二个动画将从B转到C而没有任何转换.

  1. div {
  2. background:red;
  3. width:100px;
  4. height:100px;
  5. -webkit-animation: in 2s,out 2s 3s forwards;
  6. animation: in 2s,out 3s 2s forwards;
  7. }
  8. @keyframes in {
  9. from {
  10. transform: scale(0);
  11. }
  12. to {
  13. transform: scale(1);
  14. }
  15. }
  16. @keyframes out {
  17. from {
  18. transform: scale(1);
  19. }
  20. to {
  21. transform: scale(.5);
  22. }
  23. }
  24. @-webkit-keyframes in {
  25. from {
  26. -webkit-transform: scale(0);
  27. }
  28. to {
  29. -webkit-transform: scale(1);
  30. }
  31. }
  32. @-webkit-keyframes out {
  33. from {
  34. -webkit-transform: scale(1);
  35. }
  36. to {
  37. -webkit-transform: scale(.5);
  38. }
  39. }
  1. <div></div>

我知道在这种特殊情况下,事情可以在一个步骤中完成,但这不是我正在寻找的解决方

我怎样才能使用CSS解决这个问题?

更新:一切似乎在firefox中工作得很好,它可能是一个铬虫吗?

更新2:按要求添加前缀免费动画;变化不大.

解决方法

这是另一个Chrome渲染错误.

奇怪的是,一个解决方法似乎是添加一些其他无关紧要的属性,以使其认识到动画似乎正在发生.在这种情况下,我添加了一行,将背景设置为默认情况下的内容.这只需要为-webkit-关键帧动画完成.

项目中的实际修复可能需要也可能不需要将属性更改为其他内容/添加更多位置.没有测试自己,我无法知道.

  1. div {
  2. background:red;
  3. width:100px;
  4. height:100px;
  5. -webkit-animation: in 2s,out 3s 2s forwards;
  6. }
  7. @keyframes in {
  8. from {
  9. transform: scale(0);
  10. }
  11. to {
  12. transform: scale(1);
  13. }
  14. }
  15. @keyframes out {
  16. from {
  17. transform: scale(1);
  18. }
  19. to {
  20. transform: scale(.5);
  21. }
  22. }
  23. @-webkit-keyframes in {
  24. from {
  25. -webkit-transform: scale(0);
  26. }
  27. to {
  28. -webkit-transform: scale(1);
  29. background:red;
  30. }
  31. }
  32. @-webkit-keyframes out {
  33. from {
  34. -webkit-transform: scale(1);
  35. }
  36. to {
  37. -webkit-transform: scale(.5);
  38. }
  39. }
  1. <div></div>

附注:

>使用分号 – 如果不这样做,你就会无缘无故地让每个人的生活更加艰难.
>使用良好的格式 – 与上述相同的原因
>你don’t need to使用-moz-进行动画或变换(没有-moz-transform)>在前缀之后放置未加前缀版本的属性 – 您希望它们尽可能使用更标准的版本 – 因为CSS是级联的,这意味着它会在之后放置,它将回到上面的内容.

猜你在找的CSS相关文章