欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CSS Keyframe 动画

程序员文章站 2022-05-04 07:50:58
...

我们制作复杂好看的动画时,可能要同时做多个动画,而做多个动画自然少不了调试改进,提高用户体验啦。这里有调试动画的方法,请看~

使用负的延迟值

我们如果希望多个动画同时执行并且错开它们的执行时间,可以用 animation-delay 。

 animation-delay 的值为正值时,表示过了指定时间动画才会执行,因此导致用户打开网页时元素要过了指定时间才会移动。

 animation-delay 的值为负值时,动画可以提前执行指定时间的运动,这样用户打开网页所有的动画都会执行。

设置 animation-play-state: paused; 可以让动画停下来方便调试,然后把 animation-delay 延迟设置为不同的负数(即调试时间),就如愿看到动画在不同帧下的状态了。

.debug-animation {
  animation: animation-name 2s linear infinite alternate;
  animation-play-state: paused;
  animation-delay: -1s;
}

 

保证 keyframe 足够准确

初学者经常在 0% 和 100% keyframe中声明相同的属性和值,其实浏览器会在动画开始和结束时自动处理属性值。

举个栗子:

.element {
 animation: animation-name 2s linear infinite;
}

@keyframes animation-name {
  0% {
   transform: translateX(200px);
 }
  50% {
   transform: translateX(350px);
 }
 100% {
   transform: translateX(200px);
 }
}

其实可以改成这样:

.element {
 transform: translateX(200px);
 animation: animation-name 2s linear infinite;
}

@keyframes animation-name {
  50% {
   transform: translateX(350px);
 }
}

这样代码就更简洁啦~

 

本文来自 https://w3ctech.com/topic/1472

 

                                                                                                    

                                                                                                             世界以痛吻我,要我回报以歌。

                                                                                                             加油~我一定可以的!

转载于:https://my.oschina.net/u/3545669/blog/956670