【CSS】css动画及过渡和变换属性

1.css动画

创建一个动画:

@keyframes name{        //动画名字
  0% {        //动画开始
            transform: translateY(0);
  }
  100% {         //动画结束
            transform: translateY(-700px) rotate(600deg);
  }
}

 为元素绑定动画:

1 animation: donghua 25s infinite linear;//参数分别为:动画名字,执行时间25秒,重复播放,匀速播放

设置动画延迟播放:

animation-delay: 11s;        //11秒后播放该动画

规定动画是否在下一周期逆向播放:

1 animation-direction: norma1       //默认正常播放  
2 animation-direction: alternate         //反向播放

动画是否暂停播放

1 animation-play-state:running    //正常播放
2 animation-play-state:paused     //暂停播放

属性规定动画在播放之前或之后,其动画效果是否可见:

1 animation-fill-mode:none         //不改变默认行为。
2 
3 animation-fill-mode:forwards        //当动画完成后,保持最后一个属性值(在最后一个关键帧中定义)
4 
5 animation-fill-mode:backwards       //在 animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值(在第一个关键帧中定义)
6 
7 animation-fill-mode:both       //向前和向后填充模式都被应用

定义动画循环次数:

1 animation-iteration-count: 10;

2.css动画过渡

1 transition: 2s;        //意味在动画将在两秒钟内过渡完成

3.transform变换

移动元素自身的50%:

transform:transfrom(-50%,-50%)        //两个参数分别代表该元素的50%高和50%宽

顺时针旋转:

1 transform:rotate(0deg);        //会以顺时针旋转,注意此处单位为deg

放大或缩小:

1 transform:scale(宽的倍数,高的倍数);

倾斜 X和Y轴的倾斜角度:

1 transform:skew(0deg,0deg)        //两个参数分别代表为x轴和y轴

合并以上的参数,注意总共有6个值:

1 transform:matrix(【旋转】30deg,【缩放】2,4,【平移】2px,4px,【倾斜】30deg,30deg)

定位中心点:

1 transform-origin:50%,50%;         //分别代表x轴和y轴

以x轴做3D旋转:

1 -webkit-transform: rotateX(120deg);

以y轴做3D旋转:

1 -webkit-transform: rotateY(130deg);

使所有的子元素在3D空间内显示(应用在父级元素):

1 -webkit-transform-style: flat             //2d平面
2 -webkit-transform-style:preserve-3d;        //3d空间

距离3D元素的距离:

1 1.放在本身:  transform: perspective(600px) rotateY(45deg);   //视点都是以本身转45度
2 
3 2.放在父元素  perspective: 600px;      //视点是同一个父元素的视点,所以旋转效果是不同的

3D元素下边所在XY轴值(应用在父级元素)

1 perspective-origin: -200px -400px;   // 将该元素的中心点放在x-200,y-400的位置,宽/高   

设置3D元素的反面能不能可见

1 backface-visibility: visible    //显示,可看到水平/垂直反转后的画面
2 backface-visibility:hidden;    //隐藏,不可见,只能看见白色的内容
原文地址:https://www.cnblogs.com/zhongyanzhiyan/p/8261033.html