5

所以我有这个,大致:

<div id="A">
    <ul>
        <li id="B">foo</li>
    </ul>
</div>
<div id="C">
    ...
</div>

它们的位置使 B 和 C 重叠。

A 有一个z-index90B 有一个z-index92C 有一个z-index91但是C出现在B面前。我做错了什么?(如果需要更多细节,请告诉我。)

4

2 回答 2

11

使用z-index仅与同一容器中的元素相关。由于 B 包含在 A 中,因此 B 的 z-index 仅适用于解析 A 中的其他元素。就 C 而言,B 和 A 都在 z-index 90 处呈现。但是,如果将 C 放在 A 中,则 B会在前面渲染。

于 2008-12-23T19:22:41.470 回答
1

如果一个元素没有 position:relative / position:absolute / position:fixed 样式,则它的 position:static 是所有元素的默认位置样式。

对于 position:static 的元素,z-index 根本不起作用。浏览器将按 xml 元素的顺序呈现堆栈并忽略 z-index 属性。

对于这样的情况,您必须添加位置:相对于所有 3 个元素,A、B、C。

要了解有关 z-index 和 CSS 堆叠的更多信息,请访问此处:http ://www.tjkdesign.com/articles/z-index/teach_yourself_how_elements_stack.asp

于 2008-12-27T06:30:44.800 回答