CSS3动画是什么?
动画是使元素从一种样式逐渐变化为另一种样式的效果。可以通过设置多个节点来精确控制一个或一组动画,或用关键词 "from" 和 "to",等同于 0% 和 100%。
0% 是动画的开始,100% 是动画的完成。为了得到最佳的浏览器支持,应该始终定义 0% 和 100% 选择器。
必要元素:
1.通过@keyframes指定动画序列;
2.通过百分比将动画序列分割成多个节点;
3.在各节点中分别定义各个属性;
4.通过animation将动画应用于相应元素。
/*animation:动画名称 持续时间 执行次数 是否反向 运动曲线 延迟执行*/
/*animation:move 1s 3 alternate linear;*/
CSS3的@keyframes用法详解:
此属性与animation(动画)属性是密切相关的。
keyframes翻译成中文为"关键帧"。
使用transition属性也能够实现过渡动画效果,但是略显粗糙,因为不能够更为精细的控制动画过程,比如只能够在指定的时间段内总体控制某一属性的过渡,而animation属性则可以利用@keyframes将指定时间段内的动画划分的更为精细一些。
transform:变形。改变
CSS3中主要包括 旋转:rotate() 顺时针旋转给定的角度,允许负值 rotate(30deg)
扭曲:skew() 元素翻转给定的角度,根据给定的水平线(X 轴)和垂直线(Y 轴)参数:skew(30deg,20deg)
缩放:scale() 放大或缩小,根据给定的宽度(X 轴)和高度(Y 轴)参数: scale(2,4)
移动:translate() 平移,传进 x,y值,代表沿x轴和y轴平移的距离
所有的2D转换方法组合在一起: matrix() 旋转、缩放、移动以及倾斜元素
matrix(scale.x ,, , scale.y , translate.x, translate.y)
改变起点位置 transform-origin: bottom left;
综合起来使用:transform: 30deg 1.5 30deg 20deg 100px 200px;
translate:移动,transform的一个方法
通过 translate() 方法,元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数:
用法transform: translate(50px, 100px);
-ms-transform: translate(50px,100px);
-webkit-transform: translate(50px,100px);
-o-transform: translate(50px,100px);
-moz-transform: translate(50px,100px);
transition: 允许CSS属性值在一定的时间区间内平滑的过渡,
需要事件的触发,例如单击、获取焦点、失去焦点等
transition:property duration timing-function delay;
property:CSS的属性,例如:width height 为none时停止所有的运动,可以为transform
duration:持续时间
timing-function:ease等
delay:延迟
注意:当property为all的时候所有动画
例如:transition:width 2s ease 0s;