20

モーダル ウィンドウの実装からサード パーティの広告が漏れ出すケースがあります。モーダル オーバーレイの z-index をできるだけ高くして、広告がその上に表示されないようにしたいと考えています。z-index 値に制限はありますか? あるかどうかは、ブラウザによって異なります。誰でも知っていますか?

4

4 に答える 4

13

z-indexこれはグローバルには機能せず、「スタッキング コンテキスト」( CSS の定義を理解するのが難しい)内でのみ機能することに注意してください。広告が独自のスタッキング コンテキストを確立している場合、z-index他の場所で設定した値はまったく影響しない可能性があります。 .

ただし、ブラウザの window の上のwmode=transparentウィンドウであるかのように、ブラウザがすべての上にレンダリングする「ウィンドウ化された」Flash (属性のないオブジェクト) の問題である可能性が高くなります。そのような場合、まったく役に立ちません。ad[-provider] を強制的に使用するか、iframe でクレイジーなハックを使用する必要があります。z-indexwmode=transparent

于 2008-10-22T22:35:03.157 に答える
10

そうではありませんが、int 範囲など、システムの自然な制限を考慮することができます。おそらく 32,767 未満に抑えるでしょう。同様の問題に取り組んでいるときに、javascriptでそれを確実に超えました.当時心配していた主要なブラウザやプラットフォームで問題は発生しませんでした.

サード パーティの広告とオーバーレイの場合、Flash 埋め込みでwmode="transparent"を設定することは、同様によくある問題です。また、IE には z-index のスタックに関するバグがあるため、成功しない場合は、その問題で頭を壁にぶつけていないことを確認してください*。

私は常にある種の慣習を守り、恣意的な数値を使用しないようにしています。たとえば、CSS のすべてが 0 から 10 の間にあるとします。おそらく、特定のモジュールに対して意味のある z-index を使用して、100 の桁の値で dhtml が発生します。

*補足: IE のバグは、具体的には、IE がドキュメント フローの新しいインスタンスを z-index の新しいスタッキング コンテキストと見なすことです。通常は z-index を継承する子ノードが独自のポジショニング コンテキストでレンダリングされるときに、z-index が DOM 階層で失われないようにする必要があります。

于 2008-10-22T22:22:35.943 に答える
3

http://techtrouts.com/is-there-a-limit-to-the-css-z-index-property/からの引用:

理論的には、OS とブラウザーに応じて、z-index プロパティは無制限にするか、少なくとも int 型の範囲内にする必要があります。ただし、ブラウザーのバグを回避するには、z-index 値を +/- 32767 に制限する必要があります。

于 2008-11-01T22:40:02.553 に答える