每晚固定在webkit中的Z-index位置

时间:2011-07-24 22:26:08

标签: jquery css webkit

在webkit nightly build和chrome canary上,每个位置固定的元素似乎都会获得一个超高的z-index值,无论它是内联还是CSS文件。

有关示例,请参阅http://nick-evans.com

您是否认为这是这些测试版中的错误,或者我的代码中存在错误?

在我的示例中,我能想到的唯一原因是在使用jQuery tmpl加载页面后渲染了较低的元素(这是对伪延迟加载的尝试)。

.horizontal-carousel将显式z-index设置为1并设置为position:fixed,同时将.col设置为z-index:9,但除了第一部分的内容外元素具有相反的关系,因此轮播中的图像覆盖了它们的描述。

更新

我发现未经明确的代码会有所帮助。这是一个链接

http://nick-evans.com/clients/me/tsch-tmpl/index.html

2 个答案:

答案 0 :(得分:5)

这是由您添加到.horizontal-carousel的{​​{3}}引起的。事实上,似乎有人在“CSS 3D Transform”之前遇到了类似的问题。

无论是你的错还是他们的错,我都不确定。我能在规范中找到与此相关的唯一内容是:

  

转换的除“none”以外的任何值都会导致堆叠上下文和包含块的创建。该对象的行为就像position:relative已被指定,但也充当固定位置后代的包含块。转换元素的Z轴上的位置不会影响堆叠上下文中的顺序。对于具有相同z-index的元素,按照增加z位置的顺序绘制对象。

解决此问题的最简单方法是将z的{​​{1}}值更改为translate3d。但是现在看起来你实际上并没有真正使用变换。我不知道如果你真的开始用这些变换做这件事就行了。

摆弄的z-index,带变换的元素及其父也可能有所帮助,但可能需要进行一些其他更改。

答案 1 :(得分:0)

我统计这些有位置的元素:固定在页面上:

  • .head(1个标题元素)在第273行设置为z-index 9999

  • .static-title(4个h1元素)在388行设置为z-index 99

  • .no-touch .horizo​​ntal-carousel(4 div elements)设置为z-index 1 在第489行

所有这些元素都会报告最新Webkit中样式表中分配的z-index(版本5.0.5(6533.21.1,r91865))