多个tramform元素层叠问题解决

在同一父级下的多个transform元素,后声明的元素的层级要在先声明的元素之上。这就会导致后者会覆盖前者。如果我们要做一个音乐播放动画,那么就会出现这种情况:

HTML代码:

在transform中,z-index是失效的,因此不能通过设置z-index来解决问题。

解决方案:在transform中要通过设置两者 Z 轴的方向,首先要在父级元素上声明变换类型(transform-style)为3D变换,然后设置子元素的 translateZ 属性,即可。

Transform-style:

规定如何在3D空间中呈现被嵌套的元素,该属性必须与transform属性一同使用。该属性设置在父元素中

Transform-style:flat|preserve-3d

因为该属性必须与transform一起使用,因此,如果父级元素如果没有变换的话可以使用不影响父级表现是变换,比如:transform:scale(0);

TranslateZ():

使用translateZ()函数可以让元素在Z轴进行位移,当其值为负值时,元素在Z轴越移越远,离屏幕越远。反之,当其值为正值时,元素在Z轴越移越近,离屏幕越近。

设置后在看看效果:

子级添加:

 最终效果:

符合我们预期,效果完成,饮杯茶先! 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值