gpt4 book ai didi

ios - 在 iOS 设备上滚动时,元素的 z-index 不起作用

转载 作者:IT王子 更新时间:2023-10-29 08:00:48 24 4
gpt4 key购买 nike

我的布局相当简单,一个重复的背景元素,几个垂直空间(道路)和一些水平的桥梁,以及滚动时应该在它们下方行驶的小汽车。

在我的 Mac 上一切正常,但在 iOS 设备上——我的测试设备是:iOS 6.1 上的 iPhone 4,iOS 6.1.3 上的 iPad 2——z-index 没有被接受当滚动事件处于事件状态时。

这意味着当您滚动时,position: fixedwindow 的汽车正在越过桥(具有更高的 z -index 而不是“汽车”)而不是 z-index 使桥梁达到应有的高度,并且在非 iOS 浏览器上使汽车在桥下行驶。

这似乎是一个简单的分层问题,但即使使用非常简化的测试用例,错误仍然很明显。

测试用例:http://plnkr.co/EAE5AdJqJiuXgSsrfTWH (在 iPad 上全屏查看以避免与演示内容无关的 iframe 滚动问题)

有谁知道在滚动激活时导致 z-index 不工作的代码有什么问题?

注意:iOS 版 Chrome 和 native 移动版 Safari 都会发生这种情况。


这是在 reduced test case 上运行的代码位我链接到上面以防有人可以在不打开演示的情况下指出修复。


HTML:

<!DOCTYPE html>
<html>

<head>
<link rel="stylesheet" href="style.css">
</head>

<body>
<div class="car"></div>

<div class="street"></div>
<div class="bridge"></div>
<div class="street"></div>
<div class="bridge"></div>
<div class="street"></div>
<div class="bridge"></div>
<div class="street"></div>
<div class="bridge"></div>
<div class="street"></div>
<div class="bridge"></div>
<div class="street"></div>
<div class="bridge"></div>
<div class="street"></div>
</body>

</html>

CSS:

body {
/* Adds the 'road' as a background image. */
background: #8BA341 url("http://f.cl.ly/items/1r2g152h2J2g3m1e1V08/road.png") repeat-y top center;
margin: 0;
padding: 0;
}

.car {
/* The car's position is fixed so that it scrolls along with you. */
position: fixed;
top: 5%;
left: 52%;
width: 220px;
height: 330px;
background: #BD6C31;
z-index: 1;
}
.street {
/* Empty in the example, just used to space things out a bit. */
position: relative;
height: 500px;
}
.bridge {
/* A bridge crossing the main road. The car should drive under it. */
position: relative;
height: 353px;
/* Image of repeating road. */
background: url("http://f.cl.ly/items/0u0p2k3z45242n1w3A0A/bridge-road.png") repeat-x center left;
/* Higher z-index than car. */
z-index: 2;
}

最佳答案

我相信经过反复试验我已经解决了这个问题。我所做的是向桥添加一个 webkit 转换。这允许正 z-index 数字(汽车为 10,坑洞为 1,桥梁为 20):

新的 CSS:

.bridge {
-webkit-transform: translate3d(0,0,0);
}

将翻译添加到不同的桥梁似乎不仅可以解决之前的闪烁问题,还可以让您立即滚动,没有任何延迟。

full screen 中查看或 full Plunker .在 iPad iOS 6.0.1 上测试。

关于ios - 在 iOS 设备上滚动时,元素的 z-index 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16033416/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com