webkit转换translate3d后css z-index丢失我有两个绝对定位的div元素重叠。两者都通过css设置了z-index值。我使用translate3dwebkit变换在屏幕上为这些元素设置动画,然后再返回到屏幕上。变换后,元素不再遵循其设定z-index值。任何人都可以解释一旦我对它们进行webkit转换后,div元素的z-index / stack-order会发生什么?并解释我可以做些什么来保持div元素的堆栈顺序?以下是有关我如何进行转换的更多信息。在转换之前,每个元素都通过css获取这两个webkit转换值(我使用jQuery来执行.css()函数调用:element.css({ '-webkit-transition-duration': duration + 's' });element.css({ '-webkit-transition-property': '-webkit-transform' });然后使用translate3d -webkit-transform对元素进行动画处理:element.css({ '-webkit-transform': 'translate3d(' + hwDelta + 'px, 0, -1px)' });顺便说一句,我已经尝试将第三个参数设置translate3d为几个不同的值,以尝试在3d空间中复制堆栈顺序,但没有运气。此外,iPhone / iPad和Android浏览器是我的目标浏览器,此代码需要运行。两者都支持webkit转换。
3 回答
12345678_0001
TA贡献1802条经验 获得超5个赞
位迟到这一点但是试着把丢失了Z-index的元素放在下面,我最近在做一些视差的时候遇到了一个问题,这有点大大帮助了。
transform-style: preserve-3d;
这节省了推杆
transform: translate3d(0,0,0);
其他因素会给GPU带来更多压力
撒科打诨
TA贡献1934条经验 获得超2个赞
这绝对与samy-delux指出的bug有关。这应该只影响任何定位为绝对或相对的元素。为了解决该问题,您可以将以下css语句应用于以这种方式定位并导致问题的每个元素:
-webkit-transform: translate3d(0,0,0);
这将将变换应用于元素而不实际进行转换,但会影响其渲染顺序,因此它位于导致问题的元素之上
- 3 回答
- 0 关注
- 584 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消