5

だから私はこれを持っています、大まかに:

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

これらは、BとCが重なるように配置されます。

Aにはaz-indexがあり90、Bにはaz-indexがあり92、Cにはaz-indexがあり91ます。しかし、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 プロパティを無視します。

このような状況を機能させるには、A、B、C の 3 つの要素すべてに position:relative を追加する必要があります。

z-index と CSS スタッキングの詳細については、http ://www.tjkdesign.com/articles/z-index/teach_yourself_how_elements_stack.asp を参照してください。

于 2008-12-27T06:30:44.800 に答える