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;

posted on 2018-07-21 17:41  木月南生  阅读(146)  评论(0编辑  收藏  举报