首页 > 代码库 > 用CSS制作简单的动画
用CSS制作简单的动画
一.2D转换
属性:translate() x,y位置移动
rotate() 顺时针旋转角度(单位deg,负数为逆时针)
scale() x,y元素尺寸增加或减少
skew() x,y方向进行拉扯(横拉,竖拉)
1.translate
通过translate的方法,根据给定的left(x坐标)和top(y坐标位置)让元素从其当前位置移动。
列如:
transform:translate(50px,100px);
值translate(50px,100px)把元素从左侧向右移动50px,从上端向下移动100px
2.rotate()
通过rotate(),元素顺时针旋转给定的角度,允许负值,元素将逆时针旋转给定的角度
列如:
transform:rotate(30deg)
transform:rotate(-45deg)
3.scale()
通过scale方法,根据给定的宽度(X轴)和高度(Y轴)参数,元素的尺寸会增加或者减少
列如:
transform:scale(2,0.6)
X轴扩大到2倍,y轴扩大到0.6倍
4.skew()方法
通过skew()方法,根据X轴或者Y轴进行对元素的拉扯
列如:transform:skew(10deg,20deg)
二.3D转换
rotateX()围绕X轴进行前后翻转
rotateY()围绕Y轴进行前后翻转
列:transform:rotateX(120deg)
CSS3过度
过度是元素从一种样式逐渐改变为另一种样式的效果(动画化)
属性:transition
列如:
div{
width:100px;
height:100px;
transition: width 2s linear 5s;
}
div:hover{
width:300px;
}
(鼠标悬停在div上,div变为宽度300,动画共2秒钟,动画速度平均,5秒钟开始动画)
CSS3动画( 动画(@keyframes) )
步骤:
1. 规定动画的名称
2. 用百分比来规定变化发生的过程(关键词 "from" 和 "to",等同 于 0% (开始)和 100%(结束))
3. 捆绑到某个选择器
4. 规定动画的时长
直接设置开始和结束
列:
@keyframes myfirst
{
from {background: red;}
to {background: yellow;}
}
2.animation
animation属性: 属性:
animation-name: myfirst;//动画名称
animation-duration: 5s;//动画执行时间
animation-timing-function: linear;//动画执行效果
animation-delay: 2s;//动画推迟时间
简写:
animation: myfirst 5s linear 2s infinite alternate;
用CSS制作简单的动画