前端基础进阶2
空间转换
-
使用transform属性实现元素在空间内的位移、旋转、缩放等效果
-
-
空间转换也叫3D转换
-
属性:transform
空间位移
-
使用translate实现元素空间位移效果
-
语法
-
transform: translate3d(x, y, z);
-
transform: translateX(值);
-
transform: translateY(值);
-
transform: translateZ(值);
-
-
取值(正负均可)
-
像素单位数值
-
百分比
-
-
透视
-
使用perspective属性实现透视效果
-
生活中,同一个物体,观察距离不同,视觉上有什么区别?
-
近大远小、近清楚远模糊
-
-
默认情况下,为什么无法观察到Z轴位移效果?
-
Z轴是视线方向,移动效果应该是距离的远或近, 电脑屏幕是平面,默认无法观察远近效果
-
-
属性(添加给父级)
-
perspective: 值;
-
取值:像素单位数值, 数值一般在800 – 1200px。
-
透视距离也称为视距,所谓的视距就是人的眼睛到屏幕的距离。
-
-
作用
-
空间转换时,为元素添加近大远小、近实远虚的视觉效果
-
空间旋转
-
使用rotate实现元素空间旋转效果
-
语法
-
transform: rotateZ(值); 围绕中心点旋转
-
transform: rotateX(值); 运动员绕单杠旋转
-
transform: rotateY(值); 兔子围绕钢管舞转
-
立体呈现
-
使用transform-style: preserve-3d呈现立体图形
-
使用perspective透视属性能否呈现立体图形?
-
不能,perspective只增加近大远小、近实远虚的视觉效果。
-
-
实现方法
-
添加 transform-style: preserve-3d;
-
使子元素处于真正的3d空间
-
空间缩放
-
使用scale实现空间缩放效果
-
语法:
-
transform: scaleX(倍数);
-
transform: scaleY(倍数);
-
transform: scaleZ(倍数);
-
transform: scale3d(x, y, z);
-
动画
-
使用animation添加动画效果
-
过渡可以实现什么效果?
-
实现2个状态间的变化过程
-
-
动画效果:实现多个状态间的变化过程,动画过程可控(重复播放、最终画面、是否暂停)
-
动画的本质是快速切换大量图片时在人脑中形成的具有连续性的画面
-
构成动画的最小单元:帧或动画帧
-
实现步骤:
-
1、定义动画
-
2、使用动画
-
-
-
速度曲线即加速减速还是匀速
-
-
注意:
-
动画名称和动画时长必须赋值
-
取值不分先后顺序
-
如果有2个时间值,第一个时间表示动画时长,第二个时间表示延迟时间
-
动画属性
-
使用animation相关属性控制动画执行过程
-
使用steps实现逐帧动画
-
使用steps实现逐帧动画
-
逐帧动画:帧动画。开发中,一般配合精灵图实现动画效果。
-
animation-timing-function: steps(N);
-
将动画过程等分成N份
-
-
精灵动画制作步骤
-
准备显示区域
-
设置盒子尺寸是一张小图的尺寸,背景图为当前精灵图
-
-
定义动画
-
改变背景图的位置(移动的距离就是精灵图的宽度)
-
-
使用动画
-
添加速度曲线steps(N),N与精灵图上小图个数相同
-
添加无限重复效果
-
效果:小人在原地跑
-
-
多组动画
-
如果想让小人跑远一些,该如何实现?
-
精灵动画的同时添加盒子位移动画。
-
-