z-index不像我期望的那样表现

时间:2008-12-23 19:11:51

标签: html css z-index

所以我得到了这个,粗略地说:

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

这些位置使B和C重叠。

A的z-index90,B的z-index92,而C的z-index91。但是C出现在B面前。我做错了什么? (如果需要更多细节,请告诉我。)

2 个答案:

答案 0 :(得分:11)

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

答案 1 :(得分:1)

如果元素没有位置:relative / position:absolute / position:fixed style,则为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