【发布时间】:2011-07-13 21:20:30
【问题描述】:
只是一个简单的问题,我找不到答案。我在某处听说您不能(当然可以,但它不符合 w3c 标准)具有相同的 z-indexes。这是真的?我可以有两个 z-index 为 3 的 <div> 元素吗?谢谢。
【问题讨论】:
-
你听错了。您可以拥有相同的
z-index。
标签: html css z-index w3c w3c-validation
只是一个简单的问题,我找不到答案。我在某处听说您不能(当然可以,但它不符合 w3c 标准)具有相同的 z-indexes。这是真的?我可以有两个 z-index 为 3 的 <div> 元素吗?谢谢。
【问题讨论】:
z-index。
标签: html css z-index w3c w3c-validation
这是不正确的。多个元素具有相同的 z-index 是有效的。引用W3C's CSS2 spec:
在堆叠上下文中具有相同堆叠级别的框根据文档树顺序从后到前堆叠。
【讨论】:
【讨论】:
你可以有两个具有相同的索引。它们只会按照它们在 html 中出现的顺序分层。
【讨论】:
带有 'z-index: 的定位元素 auto'(在第 6 层),浮动(第 4 层), 内联块(第 5 层)和内联 桌子(第 5 层),画得好像 这些元素产生了新的堆叠 上下文,除了他们的定位 后代和任何子堆叠 上下文参与当前 堆叠上下文。
http://www.w3.org/TR/CSS2/visuren.html#z-index
在 w3c 的这个例子中,他们讨论了第 5 层的两个项目,所以我认为他们允许这样做。我尝试时没有验证错误。
【讨论】:
想想现实世界中的这个问题。你有一张分成正方形的电脑桌。假设 z 位置不能改变,是否可以将两罐汽水放在桌子上完全相同的 x 和 y 位置?不,两个易拉罐在现实中不能相互“重叠”。
当然,这是一台计算机,与现实相去甚远。但同样的前提也适用。您可以为两个对象设置相同的 z-index,考虑到所有对象默认为相同的 z-index,但浏览器会自动调整它们以适应它们在 HTML 中出现的顺序。所以最后,它们不再真正在同一个 z 位置了。
【讨论】:
<arbitrary> 标记。这并不意味着它符合 W3C 标准。
Techism 在 z-index 上发布了指向 W3C 信息的链接。根据阅读他们所说的,元素的默认 z-index 是 auto,相当于“0”。这意味着如果一个元素没有指定 z-index,则它的 z-index 为 0,因此许多网站中的许多元素的 z-index 可能为 0,工作正常,并且符合标准。文中并没有说索引冲突有什么不好的地方,实际上是在讨论具有相同堆栈级别的元素。
【讨论】:
这是没有意义的,您可以根据需要拥有许多类似的 z-index。看看我用 3 个类似的 z-index 做的例子。它验证成功。
将链接http://fiddle.jshell.net/Tnabq/show/粘贴到http://validator.w3.org/
上面的 jsfiddle 链接是我在 http://jsfiddle.net/Tnabq/ 做的 jsfiddle 示例的结果,没有所有 4 个窗口。
【讨论】: