モーダル ウィンドウの実装からサード パーティの広告が漏れ出すケースがあります。モーダル オーバーレイの z-index をできるだけ高くして、広告がその上に表示されないようにしたいと考えています。z-index 値に制限はありますか? あるかどうかは、ブラウザによって異なります。誰でも知っていますか?
4 に答える
z-index
これはグローバルには機能せず、「スタッキング コンテキスト」( CSS の定義を理解するのが難しい)内でのみ機能することに注意してください。広告が独自のスタッキング コンテキストを確立している場合、z-index
他の場所で設定した値はまったく影響しない可能性があります。 .
ただし、ブラウザの window の上のwmode=transparent
ウィンドウであるかのように、ブラウザがすべての上にレンダリングする「ウィンドウ化された」Flash (属性のないオブジェクト) の問題である可能性が高くなります。そのような場合、まったく役に立ちません。ad[-provider] を強制的に使用するか、iframe でクレイジーなハックを使用する必要があります。z-index
wmode=transparent
そうではありませんが、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 階層で失われないようにする必要があります。
http://techtrouts.com/is-there-a-limit-to-the-css-z-index-property/からの引用:
理論的には、OS とブラウザーに応じて、z-index プロパティは無制限にするか、少なくとも int 型の範囲内にする必要があります。ただし、ブラウザーのバグを回避するには、z-index 値を +/- 32767 に制限する必要があります。