HTML5、CSS3进阶——动画、空间转换

目的:使用transform属性实现元素在空间内的位移、旋转、缩放等效果,多了一个z轴

,z轴正方向指向屏幕外面,3D转换。

  1. 空间位移

目的:使用translate实现元素空间的位移效果

语法:

Transform:translate3d(x,y,z)

Transform:translateX(值)

Transform:translateY(值)

Transform:translateZ(值)

取值:正负都可以

像素单位

百分比

想要看到z轴的效果必须再加一个属性:

Perspective实现透视效果,在人的视觉效果是看不见z轴的移动,不能看到近大远小;找到父级添加perspective属性,正常的数值是:800-1200;perspective原理是模拟了人眼到屏幕的距离。

  1. 空间旋转

目的使用rotate实现元素空间旋转

Transform:rotate3d(x,y,z)

Transform:rotate X(值)

Transform:rotate Y(值)

Transform:rotate Z(值)

工作中rotate3D一般不用自定义旋转轴是有点复杂的。

立体呈现(要想实现3D效果这是必须要添加的,不然子级不会出现3D效果)

实现方法:

父级添加transform-style:perspective-3d

使子元素处于正真的3d空间;默认值使flat表示子元素处于2d平面内呈现;

让两个子级在z轴上拉开一定的距离,再让父级旋转,这样就能实现简单的3D旋转。

使用立体实现3D导航效果:

构建一个父级,父级中包含n个小li标签,每个标签中又有n个子级标签用来存储每个面;

之后就是构建出立方体的每一个面(这也是难点和重点)。使用rotate或者之前使用transform-origin属性改变旋转的原点。不让标签按自己的几何中心旋转这样就不需要平移了。

注意事项:平面进行旋转的时候,自己相应的坐标轴也将进行旋转并不是我们数学几何上面说的广义的坐标轴,这里指的是每个标签自己多拥有的坐标轴。

 transform: rotateX(-20deg) rotateY(30deg); (能更好的看见立体效果)

  1. 空间的缩放

使用scale实现空间的缩放效果。

Transform:scale3d(x,y,z)

Transform:scaleX(倍数)

Transform:scaleY(倍数)

Transform:scaleZ(倍数)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

益智竹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值