html-css-js无效,css3D无效或视角出错的原因

今天我们不讲canvas,来讲下css做3D特效要用东西,translate3d。

translate3d用过的人很多,但是经常会遇到一些奇怪的问题,比如Z轴无效了,视角出问题了,等等,那今天我们一一来解决。

一.Z轴无效:很简单,perspective没设置,至于perspective不知道是什么,自己百度去。

db718237a57357a10ace391c8c4ec3b3.png

(perspective不设置就会毫无3D感觉)

二.视角错误:就是镜头错误,比如感觉歪斜,左右比例不符合,这个是最常见的问题,很多人觉得是perspective-origin的问题,的确,perspective-origin会影响位置,但是你设置perspective-origin的时候会发现,数值感觉上很奇怪,比如设置了居中并不会居中,那怎么解决这个问题呢?(以下是都要设置,不是选其中之一)

1:容器的position设置为absolute,如果position设置为relative也就是受文档流的影响,那么perspective-origin全部会影响3D的视角,但是这样子perspective-origin数值你会感觉并没有规律,要靠自己手动调试找到合适的数值。

3979643a1185f9e4e35ebb8cbc33d4ec.png

(如果position设置为absolute就自动按照数值居中了,神奇的现象,估计跟脱离文档流有关系)

2.注册点居中,这个会被很多人忽略,html的默认注册点几乎都未0,0点,也就是,你的浏览器镜头对准的不是你图片的中间,而是图片的左上角,这样就肯定无法准确定位了。

8456e1f1a3b8cca64272ac36efd7c8e1.png

(这里left和top为width和height的负一半)

3.不要使用width和height,如果使用了width和height3D效果将不复存在(标签里的属性和css的属性都不行),如果改变长宽请使用transform的scale。

d06b87ae35144479792aecbfa47c244e.png

4.浏览器大小100%,也就是浏览器你不能改大小,改了就要出错。

2d5950e4e4cf53eb50f58a8ee5b07fca.png

5.不能使用滤镜和叠加方式,很多浏览器会因为滤镜和叠加方式使3D效果失效。

其实,就算是3D失效了,也可以通过修改z-index的方法修复。

最后说一句,如果你能熟练的掌握translate3d,你就可以用原生css做出比canvas更加绚丽的动画。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值