CSS动画Animation

动画

之前说的过渡也是属于动画的范围,只不过它只能是开始到过渡这两个点,中间由浏览器去完成,而动画允许开发者一帧一帧的去编码。

@keyframes

要执行的动画都写在这个规则里

my-css是自定义的名字

@keyframes my-css{
    from {top:0px;}
    to {top:200px;}
}

from就是之前的状态,to是之后的状态,嗯,这个其实和过渡没啥区别,这是第一种写法。

然后就是这行代码

animation: my-css 5s;

完整代码

<!doctype html>
<html>
    <head>
        <title></title>
        <meta charset="utf-8" />
        <style type="text/css">
            .container{
                text-align: center;
                line-height: 200px;
                width: 200px;
                height: 200px;
                background: skyblue;

                /*关键代码*/
                animation: my-css 5s;

            }
            @keyframes my-css{
                from {width:200px;}
                to {width:400px;}
            }

        </style>
    </head>
    <body>
        <div class="container">狠人大帝</div>
    </body>
</html>

这只是单纯一种属性的变化,多种属性的变化是这样的

@keyframes my-css{
    from {
        width:200px;
        height: 200px;
        background: skyblue;
    }
    to {width:400px;
        height: 400px;
        background: pink;
    }
}

接下来是一帧一帧的完成

@keyframes my-css{
    0%   {
        top:0px;left: 0px;
        transform: rotate(0deg);
        background: skyblue;
    }
    25%  {
        left:200px;
        top:0px;
        transform: rotate(45deg);
        background: pink;
    }
    50%  {
        top:200px;
        left:200px;
        transform: rotate(90deg);
        background: brown;
    }
    75%  {top: 200px;
        left:0px;
        transform: rotate(135deg);
        background: #456920;
    }
    100% {top:0px;
        left:0px;
        transform: rotate(180deg);
        background: skyblue;
    }
}

如此动画的编写规则就是这样,接下来看animation属性

animation

它是多个属性的集合

animation: name duration timing-function delay iteration-count direction fill-mode play-state;
  • name 指定要绑定到选择器的关键帧的名称
  • duration 动画执行的时间
  • timing-function 速度曲线
  • delay 动画延迟的时间
  • iteration-coun 动画执行的次数
    • n 指定播放的次数
    • infinite 无限循环
  • direction 是否应该轮流反向播放动画
    • reverse 方向播放
    • normal 默认,正常播放
    • alternate 奇数次正向播放,偶数次反向播放
    • alternate-reverse 奇数次反向播放,偶数次正向播放
  • fill-mode 规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式
    • none 动画开始和结束都不会用规则定义中的样式
    • forwards 动画结束后保留最终的样式
    • backwards 动画开始前,如有延迟,使用第一帧的属性值
    • both 前面两个的融合版
  • play-state 指定动画是否正在运行或已暂停。
    • paused 指定暂停动画
    • running 指定正在运行的动画

以上属性如果单独使用应该加上前缀animation-

改变CSS代码

.container{
    text-align: center;
    line-height: 200px;
    width: 200px;
    height: 200px;
    background: skyblue;
    position: absolute;

    /*关键代码*/
    animation: my-css 5s 2;
    animation-fill-mode: forwards;

}

原文地址:https://www.cnblogs.com/tourey-fatty/p/12094311.html

时间: 2024-08-03 12:35:24

CSS动画Animation的相关文章

css动画-animation各个属性详解(转)

CSS3的animation很容易就能实现各种酷炫的动画,虽然看到别人的成果图会觉得很难,但是如果掌握好各种动画属性,做好酷炫吊炸天的动画都不在话下,好,切入正题. 一.动画属性: 动画属性包括:①animation-name,②animation-duration,③animation-timing-function, 以下是各属性详解: 1.animation-name:指定要绑定到选择器的关键帧的名称. 2.animation-duration:定义动画完成一个周期需要多少秒或毫秒 3.a

CSS动画 animation与transition

一.区分容易混淆的几个属性和值 先区分一下css中的几个属性:animation(动画).transition(过渡).transform(变形).translate(移动). CSS3中的transform(变形)属性用于内联元素和块级元素,可以旋转.扭曲.缩放.移动元素,它的属性值有以下五个:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix: transform(变形)是CSS3中的元素的属性,而translate只是transform的一个属性

[ css 动画 animation ] animation新增动画属性的实例演示

<!DOCTYPE html> <html lang='zh-cn'> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>[ animation ] 新增动画属性的实例演示</title> <meta http-equiv='description' content='this

深入理解CSS动画animation

× 目录 [1]定义 [2]关键帧 [3]动画属性 [4]多值 [5]API 前面的话 transition过渡是通过初始和结束两个状态之间的平滑过渡实现简单动画的:而animation则是通过关键帧@keyframes来实现更为复杂的动画效果.本文将介绍关于animation动画的相关知识 定义 和transition类似,animation也是一个复合属性,包括animation-name.animation-duration.animation-timing-function.animat

[ css 动画 animation属性 ] css中animation属性讲解及实现弹力球实例演示

实例: <!DOCTYPE html> <html lang="zh-cmn-Hans"> <head> <meta charset="utf-8" /> <title>animation-play-state</title> <meta name="author" content="Joy Du(飘零雾雨), [email protected], www.d

CSS动画效果之animation

Y(^o^)Y css动画大乱弹之animation. 概述 什么是animation呢?在回答这个问题之前,先要说明什么叫做@keyframe(关键帧).@keyframe算是一个动画模板.在其中,可以使用百分比,如从0%到100%的任意值,分别在每个百分比中,加上不同的属性,从而让元素达到一种在不断变化的动画效果.这和我们制作flash动画一样,我们只需设计几个关键帧,系统就能生成动画啦! 一个@keyframe例子: 1 /*定义关键帧动画*/ 2 @keyframes myframe {

css动画(transition/transform/animation)

在开发中,一个好的用户操作界面,总会夹杂着一些动画.css用对少的代码,来给用户最佳的体验感,下面我总结了一些css动画属性的使用方法及用例代码供大家参考,在不对的地方,希望大佬直接拍砖评论. 1 transition(过渡) 使用语法: transition: property duration timing-function delay; 参数: (1) property(设置过渡效果的css属性名称):none | all | property.none表示没有属性获得过渡效果:all表示

css中animation和@keyframes 动画

Animation 使用简写属性,将动画与 div 元素绑定: div { animation:mymove 5s infinite; -webkit-animation:mymove 5s infinite; /* Safari 和 Chrome */ } Internet Explorer 10.Firefox 以及 Opera 支持 animation 属性. Safari 和 Chrome 支持替代的 -webkit-animation 属性. 注释:Internet Explorer

前端深入之css篇丨2020年前,彻底掌握css动画【animation】

原文:前端深入之css篇丨2020年前,彻底掌握css动画[animation] 写在前面 马上就2020年了,不知道小伙伴们今年学习了css3动画了吗? 说起来css动画是一个很尬的事,一方面因为公司用css动画比较少,另一方面大部分开发者习惯了用JavaScript来做动画,所以就导致了许多程序员比较排斥来学习css动画(至少我是),但是一个不懂css动画的前端工程师不能称之为掌握css3,其实当你真正学习css动画之后,你会被它的魅力所吸引的,它可以减少代码量.提高性能. 上一篇文章我们已