CSS3-简单动画属性

2017-11-25  本文已影响28人  相关函数

transition

语法:transition: property duration timing-function delay;

简单的过渡变大动画

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>JOE</title>
        
        <style type="text/css">
            
            #test{
                background: red;
                width:  80px;
                height: 80px;
                transition: all 5s ease-in-out 0s;
                margin-left: 10px;
            }
            
            #test:hover{
                margin-left: 89%;
                transform: scale(1.5);
            }
            
            
        </style>
        
    </head>
    <body>
        
        <div id='test'></div>
        
    </body>
</html>

animation

在CSS3中,除了使用transitions功能实现动画之外,还可已使用animation实现复杂的动画效果,创建animation动画,首先要了解@keyframs规则.

@keyframes规则是创建动画,@keyframs规则内指定给一个CSS样式和动画将逐步从目前的样式更新为新的样式.

通常使用百分比来规定变化发生的时间,或者使用关键词from和to,等同于从0%和100%, 0%是动画的开始,100%是动画的结束.

animation的语法,除了上面列出的transition动画的四个属性之外,还增加了如下属性:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>JOE</title>
        
        <style type="text/css">
            
            #test{
                background: red;
                width:  80px;
                height: 80px;
                animation: myAnimation 5s;
                position: absolute;
                top: 20px;
                left: 20px;
                
                
            }
            
            @keyframes myAnimation{
                0%{
                    top: 20px;
                    left: 20px;
                    background: red;
                }
                25%{
                    top: 20px;
                    left: 200px;
                    background: yellow;
                }
                50%{
                    top: 200px;
                    left: 200px;
                    background: pink;
                }
                75%{
                    top: 200px;
                    left: 20px;
                    background: purple;
                }
                100%{
                    top: 20px;
                    left: 20px;
                    background: red;
                }
            }
            
            
        </style>
        
    </head>
    <body>
        
        <div id='test'></div>
        
    </body>
</html>
上一篇 下一篇

猜你喜欢

热点阅读