移动web第二天 空间转换 动画

一、空间转换

(1)概念:

transform属性实现元素在空间内的位移、旋转、缩放等效果
1、空间:x、y、z和三条坐标轴构成了一个立体空间。z轴位置与视线方向相同
2、空间转换也叫3D转换
3、属性:transform

3d.jpg

(2)语法:

1、transform: translate3d(x, y, z);
2、transform: translateX(值);
3、transform: translateY(值);
4、transform: translateZ(值);

取值(正负均可)

1、像素单位数值
2、百分比

二、透视---perspective(pp)

语法:perspective: 值;

(1)属性(添加给父级)

取值:像素单位数值,一般在800~1200

(2)作用

1、空间转换时,为元素添加近大远小近实远虚的视觉效果.
2、透视距离也称为视距,所谓的视距就是人的眼睛到屏幕的距离。

透视.jpg

(3)注意

添加视距,只是增加了一个进大远小的效果,并没有真正开启3d模式

透视1.png

三、空间旋转

使用rotate实现元素空间旋转效果
(1)语法
1、transform: rotateZ(值);
2、transform: rotateX(值);
3、transform: rotateY(值);
4、transform:ratate3d(x, y, z, 角度度数)

(2)左手法则

左手握住旋转轴, 拇指指向正值方向, 手指弯曲方向为旋转正值方向。(适用于x、y、z轴)

左手法则.png

(1)x轴方向上: 正方向:向下进入屏幕
旋转x.png

(2)y轴方向上:正方向:向左进入屏幕
旋转y.png

(3)z轴方向上:正方向:向右旋转--顺时针
旋转z.png

四、立体呈现

使用transform-style: preserve-3d呈现立体图形(父盒子添加)
特性:使子元素处于真正的3d空间

3d效果.png

五、空间缩放

使用scale实现空间缩放效果
语法
1、 transform: scaleX(倍数);
2、transform: scaleY(倍数);
3、transform: scaleZ(倍数);
4、transform: scale3d(x, y, z);

六、动画

1、使用animation添加动画效果
2、动画效果:实现多个状态间的变化过程,动画过程可控(重复播放、最终画面、是否暂停)

A1、实现步骤:

(1)定义动画:

方法一:

方法一1.png

方法二: 百分比定义,可以让动画拥有多个状态,百分比指的是动画执行过程中的某一点百分比。(阶段性)
方法二2.png

A2、动画注意点:

1.动画的名称不能重复
2.可参与过渡的css属性都可以参与动画
3.动画的名称不能为 running 它是关键词
4.如果调用该动画的盒子样式和初始状态的样式是一样的,初始状态可以省略不写

(2)使用动画

animation:动画名称 动画花费时长;

B、复合写法

动画复合.png

1、动画名称和动画时长必须赋值
2、取值不分先后顺序
3、如果有2个时间值,第一个时间表示动画时长,第二个时间表示延迟时间
4、forwards不能和infinite结合使用,否则不生效

5、 steps()与linear都是表示速度,写一个即可
注意.png

C、动画属性

动画属性.png

七、总结

1、可参与过渡的都可以参与动画
2、一个盒子是平面的,没有厚度,故没有z轴缩放
3、透视和3d都是加给父盒子的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容