zoukankan      html  css  js  c++  java
  • CSS3 动画

    CSS3 动画

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

    CSS3 @keyframes规则

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

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

    浏览器支持

    属性浏览器支持
    @keyframes          
    animation          

    IE10、Firefox以及Opera支持@keyframes规则和animation属性。

    Chrome和Safari需要加前缀-wekit-.

    注释:IE9,以及更早的版本,不支持@keyframe规则和animation属性。

    CSS3 动画

    当你在@keyframes中创建动画时,请把它捆绑到某个选择器,否则不会产生动画效果。

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

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

    把‘myfirst’动画绑定到div元素,时长:5s:

            @keyframes myfirst {
                from {
                    background:red;
                }
                to {
                    background:blue;
                }
            }
            div.keyframesOne {
                animation:myfirst 5s;
                width:100px;
                height:100px;
                border:1px solid red;
            }

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

    什么是CSS3中的动画?

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

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

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

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

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

    实例1:

            @keyframes myfirst {
                0% {
                    background:red;
                }
                25% {
                    background:yellow;
                }
                50% {
                    background-color:blue;
                }
                100% {
                    background-color:green;
                }
            }
            div.keyframesOne {
                width: 100px;
                height: 100px;
                animation: myfirst 4s;
                border: 2px inset black;
            }

    实力2:

            @keyframes myfirst {
                0% {
                    background:red;left:0px;top:0px;
                }
                25% {
                    background:yellow;left:200px;top:0px;
                }
                50% {
                    background:blue;left:200px;top:200px;
                }
                75% {
                    background:green;left:0px;top:200px;
                }
                100% {
                    background:red;left:0px;top:0px;
                }
            }
            div.keyframesOne {
                width: 100px;
                height: 100px;
                border: 2px double blue;
                position: absolute;
                animation: myfirst 4s;
            }

    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

    实例1:

            @keyframes myfirst {
                from {
                    background-color:red;
                }
                to {
                    background-color:blue;
                }
            }
            div.animationOne {
                width: 100px;
                height: 100px;
                border: 2px solid black;
                animation-name: myfirst;
                animation-duration: 5s;
                animation-timing-function: linear;
                animation-delay: 2s;
                animation-iteration-count: infinite;
                animation-direction: alternate;
                animation-play-state: running;
            }

    实例2:

            @keyframes myfirst {
                0% {
                    left:0px;background:red;
                }
                25% {
                    left:100px;background:blue;
                }
                100% {
                    left:200px;background:green;
                }
            }
            div.keyframesOne {
                width:100px;
                height:100px;
                position:absolute;
                border:1px dotted black;
                animation:myfirst 5s linear 2s infinite alternate;
            }
  • 相关阅读:
    微引擎的自定义菜单40063错误解决
    jquery 重复事件
    信号量机制DOWN操作和UP操作的详细说明
    每日算法37:Rotate Image (图像旋转)
    讨论嵌入式系统测试方案
    Android 从硬件到应用程序:一步一步爬上去 6 -- 我写的APP测试框架层硬件服务(终点)
    MVC 接受Flash上传图片
    autorun.vbs病毒的清除办法
    【行业翘楚】井田云:化解线上线下冲突让鱼与熊掌皆得
    Tuxedo入门学习
  • 原文地址:https://www.cnblogs.com/tianma3798/p/3577397.html
Copyright © 2011-2022 走看看