CSS3动画

CSS3 动画

通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片、Flash 动画以及 JavaScript。

什么是 CSS3 中的动画?

动画是使元素从一种样式逐渐变化为另一种样式的效果。

您可以改变任意多的样式任意多的次数。

请用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%。

0% 是动画的开始,100% 是动画的完成。

为了得到最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。

CSS3 @keyframes 规则

如需在 CSS3 中创建动画,需要学习 @keyframes 规则。

@keyframes 规则用于创建动画。在 @keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果。

当在 @keyframes 中创建动画时,请把它捆绑到某个选择器,否则不会产生动画效果。所以我们需要给animation一个自定义的name

通过规定至少以下两项 CSS3 动画属性,即可将动画绑定到选择器:

  • 规定动画的名称
  • 规定动画的时长

必须定义动画的名称和时长。如果忽略时长,则动画不会允许,因为默认值是 0。

CSS3 动画属性

下面的表格列出了 @keyframes 规则和所有动画属性:

属性描述CSS
@keyframes 规定动画。 3
animation 所有动画属性的简写属性,除了 animation-play-state 属性。 3
animation-name 规定 @keyframes 动画的名称。 3
animation-duration 规定动画完成一个周期所花费的秒或毫秒。默认是 0。 3
animation-timing-function 规定动画的速度曲线。默认是 "ease"。 3
animation-delay 规定动画何时开始。默认是 0。 3
animation-iteration-count 规定动画被播放的次数。默认是 1。 3
animation-direction 规定动画是否在下一周期逆向地播放。默认是 "normal"。 3
animation-play-state 规定动画是否正在运行或暂停。默认是 "running"。 3
animation-fill-mode 规定对象动画时间之外的状态。 3

通过代码实现以下效果:

html代码中只有一个div元素,这里不给出代码

css代码:

div {
     100px;
    height: 100px;
    background-color: #ff273d;
    position: relative;
    /*给该动画设定名字*/
    animation-name: myy;
    /*动画时间*/
    animation-duration: 1s;
    /*规定动画在下一周期是否逆向播放,normal是默认正常播放,alternate是下一周期逆向播放*/
    animation-direction: alternate;
    /*动画循环周期,infinite是无限循环*/
    animation-iteration-count: infinite;

}

/*将动画绑定到选择器*/
@keyframes myy {
    /*设置动画变化效果:颜色变化和位置变化,位置变化通过元素与左边和顶部的距离来变化*/
    0% {
        background: #24ff39;
        left: 0px;
        top: 0px;
    }
    25% {
        background: #6bffe7;
        left: 200px;
        top: 0px;
    }
    50% {
        background: #ff2ddb;
        left: 200px;
        top: 200px;
    }
    75% {
        background: #2c1bff;
        left: 0px;
        top: 200px;
    }
    100% {
        background: #fdffbd;
        left: 0px;
        top: 0px;
    }
}
原文地址:https://www.cnblogs.com/lyd447113735/p/8414838.html