静态布局②

一、空间转换

目标:使用transform属性实现元素在空间内的位移、旋转、缩放等效果

空间:是从坐标轴角度定义的。 x 、y 和z三条坐标轴构成了一个立体空间,z轴位置与视线方向相同。

空间转换也叫3D转换属性:transform

1 空间位移

语法transform: translate3d(x, y, z);transform: translateX(值);transform: translateY(值);transform: translateZ(值);取值(正负均可)像素单位数值百分比

2 透视

思考:生活中,同一个物体,观察距离不同,视觉上有什么区别?

答:近大远小、近清楚远模糊

思考:默认情况下,为什么无法观察到Z轴位移效果?

答:Z轴是视线方向,移动效果应该是距离的远或近, 电脑屏幕是平面,默认无法观察远近效果

属性(添加给父级)perspective: 值;取值:像素单位数值, 数值一般在800 – 1200。

作用空间转换时,为元素添加近大远小、近实远虚的视觉效果


3 空间旋转

语法transform: rotateZ(值);transform: rotateX(值);transform: rotateY(值);

左手法则判断旋转方向: 左手握住旋转轴, 拇指指向正值方向, 手指弯曲方向为旋转正值方向


拓展rotate3d(x, y, z, 角度度数) :用来设置自定义旋转轴的位置及旋转的角度

x,y,z 取值为0-1之间的数字

4 立体呈现

思考:使用perspective透视属性能否呈现立体图形?

答:不能,perspective只增加近大远小、近实远虚的视觉效果。

实现方法

添加 transform-style: preserve-3d;使子元素处于真正的3d空间

呈现立体图形步骤

1.盒子父元素添加transform-style: preserve-3d;

2.按需求设置子盒子的位置(位移或旋转)注意空间内,转换元素都有自已独立的坐标轴,互不干扰

二、动画

思考:过渡可以实现什么效果?

答:实现2个状态间的变化过程

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

动画的本质是快速切换大量图片时在人脑中形成的具有连续性的画面构成动画的最小单元:帧或动画帧

2.1 实现步骤

实现步骤:

1.定义动画


2.使用动画


2.2 动画属性


注意:

1.动画名称和动画时长必须赋值

2.如果有2个时间值第一个时间表示动画时长,第二个时间表示延迟时间

3.running 不能作为动画名称

4.动画播放次数:infinite 无限次播放

5.动画播放方向:alternate 交替播放

6.速度曲线:默认 ease; linear 匀速播放

7.执行完毕时的状态:forwards 动画会停在动画结束时的状态

8.animation 里面属性值 不分先后顺序

9.forwards不能和infinite结合使用,否则不生效

具体属性:

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

推荐阅读更多精彩内容

  • 今天接着来学习图形处理中的,几何控制和结构 布局 UIView有三个比较重要的布局属性:frame,bounds和...
    李绍旌阅读 203评论 0 0
  • 2D转换 2D转换使用的属性是transform,用于对元素进行移动、缩放、旋转、拉长或拉伸。配合过渡和动画,可以...
    白棠阅读 266评论 0 0
  • 下面仍然是跟着pink老师学习CSS3更高级的用法。 一、 CSS3 2D转换 转换(transform)是CSS...
    blackmanba_084b阅读 274评论 0 1
  • Day 2:Python 四大数据类型总结基本数据类型数值型Python 中的数据皆是对象,比如被熟知的 int ...
    arthur_wang_73阅读 178评论 0 0
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,112评论 0 4