css动画

2022-01-11  本文已影响0人  香蕉不拿呢

css有几个容易混淆的属性:animation,transtion,translate,transform

一、transition 过渡

transition属性可以被指定为一个或多个 CSS 属性的过渡效果,多个属性之间用逗号进行分隔
transition CSS 属性是 transition-property,transition-duration,transition-timing-function 和 transition-delay 的一个简写属性。

div{
    transition: [transition-property] [transition-duration] [transition-timing-function] [transition-delay]
}

transition-timing-function: linear|ease|ease-in|ease-out|ease-in-out|cubic-bezier(n,n,n,n);

.div1{
    width:10px;
    height:10px;
    transition: width 3s ease,height 2s ease-in;
}
.div1:hover{
    width:50px;
    height:30px;
}
二、transform 转换

transform属性允许旋转,缩放,倾斜或平移,给定元素,还可以修改元素的坐标空间实现。
多个属性可以连着写。

transform:rotate(90deg,90deg);
transform:rotateX(90deg); 
transform:rotateY(90deg); 

transform:translate(10px,40px);
transform:translateX(10px);
transform:translateY(10px);
transform:translate(50%,50%);
transform:translateX(10%);
transform:translateY(10%);

transform:skew(0deg,0deg);
transform:skewX(90deg);
transform:skewY(90deg);

transform:scale(0.5);

transform:matrix(1,10,1,10,1,10);;
三、animation动画

animation属性用来指定一组或多组动画,每组之间用逗号相隔。
animation的css属性是 name, duration, animation-timing-function, delay, animation-iteration-count, animation-direction的缩写。

div{
    animation: [name] [duration] [animation-timing-function] [delay] [animation-iteration-count] [animation-direction];
}
1. animation-timing-function

动画的速度曲线的值

2. animation-iteration-count

动画播放次数的值有两种:number 次数、infinite 无数次

animation-iteration-count: n|infinite;
3. animation-direction

动画方向有两种,normal(默认)正常方向,alternate 轮流反向

animation-direction: normal|alternate;
4. @keyframes

通过在动画序列中定义关键帧的样式来控制CSS动画序列中的中间步骤。

@keyframes name{
    from{
        width:0;
    }
    50%{
        width:20px;
        height:100px !important; /** 被忽略 **/
    }
    to{
        width:0px;
    }
}

其中name为动画系列名称,from相当于0%,to相当于100%。有!important的属性会被忽略

上一篇 下一篇

猜你喜欢

热点阅读