CSS3 动画

CSS3 动画

        1.渐变

                1.介绍

                        CSS3 渐变 可以让你在两个或者多个指定颜色之间显示平稳的过渡。以前你必须使用图像来实现这些效果。现在,使用CSS3 渐变,通过代码来实现渐变可以减少请求和节约带宽。

                        CSS3 定义了两种类型的渐变

                       线性渐变                                                                              径向渐变

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        

 

                 2.语法

                        1.线性渐变 方式— 向上、向下、向左、向右、对角方向

                             background :linear-gradient ( direction , color-stop1, color-stop2,...)

                        2.径向渐变 方式 有他们的中心定义

                             background :linear-gradient ( center , shape , size , start-color, ... , last-color)        默认情况下,渐变的中心是 center(表示在中心点),渐变的形状是 ellipse (表示椭圆)     它可以是值 circle (圆形)或 ellipse(椭圆)

        2.2D 3D 转换

                1.介绍

                        CSS3 中转换允许我们对元素进行旋转、缩放、移动、或倾斜。它分为 2D 转换和 3D 转换。     

                        在CSS2的时代,如果要做一些图片转换角度,都依赖图片、flash或者javasciript 才能完成。但是现在借助CSS3就可以轻松倾斜、缩放、移动和翻转元素。通过CSS变形,可以让元素生成静态视觉效果,但也可以很容易结合CSS3的 transition 和动画 keyframe 产生一些动画效果。

                   2. transform 2D 属性

                        1.介绍

                                通常的属性包含了属性名和属性值,而CSS3 的transform 属性是用函数来定义的。 transform 2D函数包括了 translate()、scale()、rotate()、skew() 书写格式:     transform:函数名(X轴值,Y轴值)

        转换效果

               2.属性

                1、translate() 函数     

                                translate()方法,根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。接受CSS 的标准量度单位(px)  例如: translate(X,Y),沿着X和Y轴移动元素。

                 2、rotate()     

                                通过rotate() 方法,元素顺时针旋转给定的角度,允许负值,元素将逆时针旋转。它以deg 为单位,单标旋转的角度。

                3、scale()     

                                通过值把宽和高转换为原尺寸的n倍,接受两个参数,前面的为宽,后面的为高。     可取值:         默认为1               缩小:0-1 之间的数             放大:大于1的数

                4、skew()     

                                根据水平轴和垂直轴翻转,接受两个或者一个值,两个值是前面为水平,后面为垂直的角度,一个值是水平轴的角度。此函数是指元素的倾斜角度

        3.transform 3D 属性

translate3d(x,y,z)

定义 3D转化

translateX(x)

定义3D转化,仅适用于X轴的值

translateY(y)

定义3D转化,仅适用于Y轴的值

translateZ(z)

定义3D转化,仅适用于Z轴的值

scale3d(x,y,z)

定义3D缩放转换

scaleX(x)

定义3D缩放转换,通过给定一个X轴的值。

scaleY(y)

定义3D缩放转换,通过给定一个Y轴的值。

scaleZ(z)

定义3D缩放转换,通过给定一个Z轴的值。

rotate3d(x,y,z,angle)

定义3D转换

rotate3d(angle)

定义沿X轴的3D 旋转

rotate3d(angle)

定义沿Y轴的3D 旋转

rotate3d(angle)

定义沿Z轴的3D 旋转

        3.过渡

                1.什么是过渡

                        使用CSS 的属性值在一段时间内平滑的过渡

                        比如:鼠标悬停后,背景色在1S 内,有白色平滑的过渡到红色。     

                        1)指定四个要素        

                                过渡属性:如 background   、color等        

                                过渡需要的时间        

                                过渡函数:过渡的速度、方式        

                                过渡延迟时间,表示开始执行的时间     

                        2)触发过渡                

                                通过用户的行为触发,如点击、悬浮等

                2.过渡属性

                        transition-property:none \ all \ property ;

                        多个属性用逗号隔开

                        可设置过渡的属性

                        颜色属性

                        取值为数值的属性

                        转换属性

                        渐变属性

                        阴影属性

                3.过渡时间     

                        transition-duratino: s \ ms ; 默认值是0,意味者不会有效果,所以必须设置transition 属性

                4.过渡函数     

                        transition-timing-function: ;

                        取值:

                        ease:默认值,规定慢速开始,然后变快,然后慢速结束的效果。

                        linear:匀速

                        ease-in :规定以慢速开始,加速效果。

                        ease-out:规定以慢速结束,减速效果。

                        ease-in-out:规定以慢速开始和结束,先加速后减速效果。

                5.过渡延迟

                        transition-delay :s \ ms ; 改变元素属性值后多长时间开始执行过渡效果。

                6.简写属性 transition

                        transition 属性是一个简写属性,用于设置四个过渡属性

    语法:

transition : property  duration  timing-function  delay ;
	.box{ width:200px; 
		height:200px; 
		background:red;
		transition: background 3s linear 1s}
	.box:hover{ 
		background : blue;}

                        

        4.动画

                1.animation 动画

                        过渡属性只能模拟动画效果

                        animation 属性可以制作类似flash动画     

                        通过关键帧控制动画的每一步     

                        使元素从一种样式逐渐变化成另一种样式     

                        实现复杂的动画效果

                2.@keyframes  

                        作用:用于声明动画,指定关键帧。  

                        帧: 用于分解动画动作        

                                每个帧代表某个时间点    

@keyrames name{
	form | 0%{ CSS样式}
	percent { css 样式 }
	to | 100%{ css 样式 }
}

 

                                定义每个帧上的动作

                        @keyframes 的语法

                3.animation 属性

                        animation 属性用于控制动画 调用有

                        @keyframes 定义的动画 设置动画属性,如时间、次数等

                        animation 属性是一个简写属性

                        

语法:animation : name  duration timing-function delay iteration-count  direction;

                4.动画的子属性

                        animation-name : ; 调用动画,规定需要和keyframes  的名字一致

                        animation-duration: s | ms ; 动画完成一个周期所需要的时间

                        animation-timing-function:; 规定动画的速度变化类型

                        animation-delay : s | ms ; 播放之前的延迟时间

                        animation-iteration-count :数值 | infinite ; 播放次数 | 无限次播放

                        animation-direction: normal | alternate ; 动画播放方向     

                                        normal  默认值,表示正常播放     

                                        alternate 表示轮流播放,及动画会在奇数次正常播放,而在偶数次向后播放

                        animation-fill-mode : forwards ;动画停在最后一帧    默认值是none

                        animation-play-state: paused | running ; 属性规定动画正在正常运行还是暂停       默认值 running

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值