CSS3动画属性

css3动画效果突然发现吊炸天,在一些场景上使用一下动画效果,还是能够发挥出意想不到的效果,自己将css3属性稍微的整合一下,以便于自己以后的查阅,同时方便大家阅览,希望有一定的提升。

1、css3过渡属性- transition

这是css3中的一个过渡属性,一般需要配合鼠标事件触发,transition里面可以设置四个值,这是它的简写形式:
transition: 属性值1 属性值2 属性值3 属性值4

  • 属性值1:需要参与过渡属性 all (能支持过渡属性的都会过渡变换 默认值)
  • 属性值2:过渡时间 (s 秒 , ms 毫秒)
  • 属性值3:延迟时间 (s 秒 , ms 毫秒)
  • 属性值4:动画类型 (匀速,匀加速,匀减速…)
    在这里插入图片描述
2、创建动画 - animation

创建动画最主要是制定关键帧(@keyframes), 然后使用animation调用关键帧。

1、 animation 属性
  • animation-name 关键帧的名称
  • animation-duration 动画的持续的时间
  • animation-timing-function 动画运用的类型(匀速linear、加速度、减速度、贝塞尔曲线)
  • animation-delay 动画的延迟
  • animation-iteration-count 动画运动的次数(默认情况下运动1次) infinite(无限循环)
  • animation-direction 运动的方向
    — 属性值:
    - - - reverse:反方向运行 ( 让关键帧从后往前执行 )
    - - - alternate:动画先正常运行再反方向运行,并持续交替运行
    - - - alternate-reverse:动画先反运行再正方向运行,并持续交替运行
  • animation-play-state
    —属性值:
    - - - paused暂停
    - - - running运动
    简写方式:animation:关键帧的名称 动画运动的时间 linear(匀速) 动画延迟的时间。
2、 制定关键帧-@keyframes
	@keyframes 关键帧的名称{
	第一种:   from{} //开始 状态
                to{} // 结束状态
               }
               
   @keyframes 关键帧的名称{            
    第二种    0%{
           //开始状态
            }
            25%{

            }
            50%{

            }
            ......
            100%{
            //结束状态
            }
        }

在这里插入图片描述
注:transition 和 animation 的区别是什么????
  transition 需要添加事件才能触发,而animation却不需要添加事件就能够触发效果。
接下来我们将位移,旋转,缩放,倾斜,都统统整理一下:

1、 位移 - translate()

transform:translate(x,y,z);

属性Value
translate(参数1,参数2,参数3)(x,y,z)
translateX()在X轴移动的距离
translateY()在Y轴移动的距离
translateZ()在Z轴移动的距离(不能为百分比)

说明:参数的设置:如果是正值的情况下:往右往下 , 负值:往左往上

2、 缩放 - scale()

transform:scale(x,y,)或者 transform:scale3d(x,y,z);

属性Value
scale3d(参数1,参数2,参数3)(x,y,z)
scaleX()X轴缩放的比例
scaleY()Y轴缩放的比例
scaleZ()Z轴缩放的比例

说明:0<参数<1  缩小
    参数=1   不变
    参数>1   放大

3、 旋转 - rotate()

transform:rotate();属性值为一个度数(deg)默认情况下绕着中心点转动,那么这里的中心点可以称之为 变形原点

  • transform-origin:水平方向 垂直方向; 它可以改变旋转中心的位置,
属性Value
rotate3D(x,y,z,a)(x,y,z,a)
rotateX()以X轴为中心旋转
rotateY()以Y轴为中心旋转
rotateZ()以Z轴为中心旋转

属性值的取值范围:
- x:是一个0到1之间的数值,主要用来描述元素围绕X轴旋转的矢量值;
- y:是一个0到1之间的数值,主要用来描述元素围绕Y轴旋转的矢量值;
- z:是一个0到1之间的数值,主要用来描述元素围绕Z轴旋转的矢量值;
- a:是一个角度值,主要用来指定元素在3D空间旋转的角度,如果其值为正值,元素顺时针旋转,反之元素逆时针旋转。

4、 倾斜- skew()

元素转动给定的角度,根据给定的水平线(X 轴)和垂直线(Y 轴)参数:

属性Value
(参数1,参数2)(x,y)
skewX()以X轴为参考线
skewY()以Y轴为参考线

注:倾斜不会改变盒子的高度

5、 加餐
1、景深 - perspective

简单来讲就是我们对屏幕的距离,我们看到的事物越大,说明离我们越近,perspective的值越小,效果越不好。perspective用于激活一个3D空间,属性值就是景深大小(默认none无景深),两种方法都设置会发生冲突,建议只设置父元素,通常的数值在900-1200之间,如果当你的视线距离物体足够远的时候,基本上就不会有近大远小的感觉

2、景深两种写法

第一种:
直接给父元素添加属性
perspective:1200px;
第二种:
给子元素添加属性
transform:perspective(1200px);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值