• 作业题之动画改良


    CSS3 有3种和动画相关的属性:transform, transition, animation。

    其中 transform 描述了元素静态样式。而transition 和 animation 却都能实现动画效果。

    所以它们常常配合使用,可以做到一些很炫的效果。

    不同点:

    1.  触发条件不同。transition通常和hover等事件配合使用,由事件触发。animation则和gif动态图差不多,立即播放。

    2. 循环。 animation可以设定循环次数。

    3. 精确性。 animation可以设定每一帧的样式和时间。tranistion 只能设定头尾。 animation中可以设置每一帧需要单独变化的样式属性,

    transition中所有样式属性都要一起变化。

    4. 与javascript的交互。animation与js的交互不是很紧密。tranistion和js的结合更强大。js设定要变化的样式,

    transition负责动画效果,天作之合,比之前只能用js时爽太多。

    结论:

    1. 如果要灵活定制多个帧以及循环,用animation.

    2. 如果要简单的from to 效果,用 transition.

    3. 如果要使用js灵活设定动画属性,用transition.

    以上是摘抄别人的博文的。

    transition和animation是不能一起共同一起使用的。

    这次作业有个要做动画的效果。

    达标效果:

    这个是用transition简单的过渡动画效果,由于好像不是很美观,所以改良了一下。

    改良效果:

    这个是使用animation的动画效果实现的,可以看出动画比较丰富一些,不会只有一种动画在动。

    改良代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>zuoye2</title>
        <style>
        div{
            margin: 50px auto 0;
            width: 600px;
            height: 194px;
            background: url(bg_icon.png) 158px 46px/144px 66px,
            url(21.png) 510px 194px/24px 24px,
            url(22.png) 539px 194px/23px 24px,
            url(23.png) 568px 194px/23px 24px,
            url(zuoye-2.png);
            background-repeat:no-repeat;
            animation: doMove01 1s forwards;
        }
        @keyframes doMove01{
            0%{background: url(bg_icon.png) 150px 32px/175px 96px,
                url(21.png) 510px 163px/24px 24px,
                url(22.png) 539px 163px/23px 24px,
                url(23.png) 568px 163px/23px 24px,
                url(zuoye-2.png);
                background-repeat:no-repeat;}
            100%{
                background: url(bg_icon.png) 158px 46px/144px 66px,
                url(21.png) 510px 194px/24px 24px,
                url(22.png) 539px 194px/23px 24px,
                url(23.png) 568px 194px/23px 24px,
                url(zuoye-2.png);
                background-repeat:no-repeat;
            }
        }
        div:hover{
            animation: doMove 1.3s forwards;
        }
        @keyframes doMove{
            0%{background: url(bg_icon.png) 156px 44px/147px 69px,
                url(21.png) 510px 194px/24px 24px,
                url(22.png) 539px 194px/23px 24px,
                url(23.png) 568px 194px/23px 24px,
                url(zuoye-2.png);
                background-repeat:no-repeat;
            }
            5%{background: url(bg_icon.png) 155px 43px/150px 72px,
                url(21.png) 510px 170px/24px 24px,
                url(22.png) 539px 182px/23px 24px,
                url(23.png) 568px 194px/23px 24px,
                url(zuoye-2.png);
                background-repeat:no-repeat;
            }
            10%{background: url(bg_icon.png) 154px 41px/153px 75px,
                url(21.png) 510px 158px/24px 24px,
                url(22.png) 539px 170px/23px 24px,
                url(23.png) 568px 182px/23px 24px,
                url(zuoye-2.png);
                background-repeat:no-repeat;
            }
            20%{background: url(bg_icon.png) 153px 39px/159px 81px,
                url(21.png) 510px 137px/24px 24px,
                url(22.png) 539px 149px/23px 24px,
                url(23.png) 568px 161px/23px 24px,
                url(zuoye-2.png);
                background-repeat:no-repeat;
            }
            25%{background: url(bg_icon.png) 152px 38px/162px 84px,
                url(21.png) 510px 149px/24px 24px,
                url(22.png) 539px 137px/23px 24px,
                url(23.png) 568px 149px/23px 24px,
                url(zuoye-2.png);
                background-repeat:no-repeat;
            }
            30%{background: url(bg_icon.png) 151px 36px/165px 87px,
                url(21.png) 510px 161px/24px 24px,
                url(22.png) 539px 149px/23px 24px,
                url(23.png) 568px 137px/23px 24px,
                url(zuoye-2.png);
                background-repeat:no-repeat;
            }
            35%{background: url(bg_icon.png) 150px 34px/168px 90px,
                url(21.png) 510px 163px/24px 24px,
                url(22.png) 539px 161px/23px 24px,
                url(23.png) 568px 149px/23px 24px,
                url(zuoye-2.png);
                background-repeat:no-repeat;
            }
            40%{background: url(bg_icon.png) 150px 32px/171x 93px,
                url(21.png) 510px 163px/24px 24px,
                url(22.png) 539px 163px/23px 24px,
                url(23.png) 568px 161px/23px 24px,
                url(zuoye-2.png);
                background-repeat:no-repeat;
            }
            45%{background: url(bg_icon.png) 150px 32px/175px 96px,
                url(21.png) 510px 163px/24px 24px,
                url(22.png) 539px 163px/23px 24px,
                url(23.png) 568px 163px/23px 24px,
                url(zuoye-2.png);
                background-repeat:no-repeat;
            }
            100%{background: url(bg_icon.png) 150px 32px/175px 96px,
                url(21.png) 510px 163px/24px 24px,
                url(22.png) 539px 163px/23px 24px,
                url(23.png) 568px 163px/23px 24px,
                url(zuoye-2.png);
                background-repeat:no-repeat;
            }
        }
    
    
        </style>
    </head>
    <body>
        <div></div>
    </body>
    </html>

    有更好的意见和想法请评论一下。前提是纯css实现的。(O ^ ~ ^ O)

  • 相关阅读:
    洛谷 1339 最短路
    洛谷 1330 封锁阳光大学 图论 二分图染色
    洛谷 1262 间谍网络 Tarjan 图论
    洛谷 1373 dp 小a和uim之大逃离 良心题解
    洛谷 1972 莫队
    洛谷 2158 数论 打表 欧拉函数
    洛谷 1414 数论 分解因数 水题
    蒟蒻的省选复习(不如说是noip普及组复习)————连载中
    关于筛法
    关于整数划分的几类问题
  • 原文地址:https://www.cnblogs.com/zhangzhicheng/p/5767963.html
Copyright © 2020-2023  润新知