我有两个绝对位置重叠的div元素.两者都通过CSS设置了z索引值.我使用translate3dwebkit转换使这些元素离开屏幕,然后再回到屏幕上.转换后,元素不再尊重其设置的z-index值.

有人能解释一下,一旦我对div元素执行webkit转换,它们的z索引/堆栈顺序会发生什么变化吗?并解释我可以做些什么来保持div元素的堆栈顺序?

下面是关于我如何进行转换的更多信息.

在转换之前,每个元素通过css获得这两个webkit转换值(我使用jQuery进行.css()个函数调用:

element.css({ '-webkit-transition-duration': duration + 's' });
element.css({ '-webkit-transition-property': '-webkit-transform' });

然后使用转换3d-webkit-转换为该元素设置动画:

element.css({ '-webkit-transform': 'translate3d(' + hwDelta + 'px, 0, -1px)' });

顺便说一句,我已经try 将第三个参数translate3d设置为几个不同的值,试图在3D空间中复制堆栈顺序,但没有成功.

此外,iPhone/iPad和Android浏览器是我的目标浏览器,这段代码需要在其上运行.两者都支持webkit转换.

推荐答案

这可能与:https://bugs.webkit.org/show_bug.cgi?id=61824

基本上,当您在z轴上应用3D变换时,不能再考虑z索引(您现在在3维渲染平面中,使用不同的z值).如果要切换回子元素的2D渲染,请使用transform-style: flat;.

Css相关问答推荐

如何使一组元素的行为像字符串一样?

添加Angular 17的Stackblitz项目的Angular material 主题?

如何将此 Select 器转换为TailWind类

如何将动态参数从react tsx文件发送到css

禁用MUI DataGrid上的悬停效果

在 React 中使用 CSS 动画 onClick()

TypeScript 中有效的 CSS 属性名称数组,但带有连字符

清除 CSS 中已设置的填充属性以恢复 SVG 的默认值

使用任意运行时字符串进行 Tailwind CSS 类定位

css - 悬停访问的链接没有背景 colored颜色

网格区域即使使用 fr 也不会减小其宽度

用css画3个三角形

CSS动画恢复默认

导航栏中的 Bootstrap 3.0 按钮

如何动态生成用逗号分隔的类列表?

如何使用 CSS 绘制复选标记/勾号?

CSS 插入边框

CSS关键帧动画CPU占用率高,应该这样吗?

使图像具有响应性 - 最简单的方法

CSS垂直对齐不适用于浮动