【发布时间】:2011-07-25 06:34:58
【问题描述】:
我有两个重叠的绝对定位的 div 元素。两者都通过 css 设置了 z-index 值。我使用translate3d webkit 转换将这些元素从屏幕上移开,然后再回到屏幕上。转换后,元素不再尊重其设置的 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 转换。
【问题讨论】:
-
你能发个链接看看这个例子吗?
-
我遇到了同样的问题。我有一个带有内部元素样式“-webkit-transform: translate3d(0,0,0)”的
-
我花了 10 小时弄清楚是什么让我的代码无法工作。呃