空间转换和动画

90 阅读2分钟

空间转换和动画

语法:transform:translate3d(x,y,z);

取值:像素值或者百分比

透视

属性(给附有3d属性的最近一级父级添加)视距(400px~1200px一般):

perspective:数值px; (pp)

赋予近大远小,近实远虚的效果

安排一个眼睛在一个距离(视距)看看屏幕

当视距=位移量会闪屏,在到达同数值后丢失然后又hover住,导致连闪。

空间旋转

左手法则(握拳)拇指向着轴正方向,其余手指就指向旋转正方向

属性名: transform:rotateX/Y/Z(数值deg)

立体呈现

transform-style: preserve-3d;(给附有3d属性的最近一级父级添加,和pp一样;)给予其子元素3d环境。

动画的实现步骤

!定义动画------------------------

@keyframes 动画名称 {

from { } 起始状态

to { } 最终状态

}

!使用动画-----------------------

属性名: animation: 动画名称 花费时长

如果动画的起始和目标初始状态一样,from可以省略。

可以用 数值% 表示阶段性的变化。

@keyframes two {

​ 50% {width: 700px;height: 100px;}

​ 100% {width: 800px;height: 500px;}

注意点

1.动画名称不能为running,否则动画效果不生效。

2.动画名称不能重复。

3.一次动画完成后默认会突然一下回到初始状态

连写 animation:

动画名称

动画时长

速度曲线 linear匀速////steps(数字)分段

延迟时间 数字+s

重复次数 或者infinite

动画方向 alternate交替播放

执行完毕时状态 forwards (forwards不能和infinite共用)

animation-play-state: paused; 鼠标指上去暂停

animation-time-

一个盒子调用多个动画用(,)逗号隔开

轮播图

利用障眼法,复制最初的视觉效果图到结束的部分再重播