在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
,但除了第一部分的内容外元素具有相反的关系,因此轮播中的图像覆盖了它们的描述。
更新
我发现未经明确的代码会有所帮助。这是一个链接
答案 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 .horizontal-carousel(4 div elements)设置为z-index 1 在第489行
所有这些元素都会报告最新Webkit中样式表中分配的z-index(版本5.0.5(6533.21.1,r91865))