2012-12-06 9 views
9

私は現在、Chromeのオープンソースプラグインを構築しています。それはかなり遠いですが、私が整理しようとしているいくつかのバグがあります。基本的には、すべてのWebページ全体を移動するdiv(ページのHTMLに挿入される)は、可視になるように一番上の要素である必要があります。これはz-index @ 999によって達成されます。しかし、一部のWebページでは、これは機能しません!divをすべてのウェブページの一番上の要素にする

私の頭の上には表示されませんが、code.google.comにログインしているときにメニューバーが表示されます。

ウェブ開発者が何をしていても注入すると、どのようにして強制的に最上位になるのですか?ここで

はdivのための私のCSSです!

#ezselected { 
    -webkit-transition: all .2s ease-in-out; 
    -moz-transition: all .2s ease-in-out; 
    -o-transition: all .2s ease-in-out; 
    -ms-transition: all .2s ease-in-out; 
    transition: all .2s ease-in-out; 
    position:absolute; 
    border-radius: 15px; 
    z-index: 999; 
    -webkit-box-shadow: 0px 0px 15px 5px rgba(255, 255, 100, .80); 
    -moz-box-shadow: 0px 0px 15px 5px rgba(255, 255, 100, .80); 
    /*box-shadow: 0px 0px 15px 5px rgba(255, 255, 100, .80);*/ 
    pointer-events:none; /* Make click-able through the DIV (for example, if it's on top of something with an event with kb) */ 
} 

P.S.、私は無駄に重要みました。

ありがとうございます!

+5

よく 'z-index:999'は' z-index:1000'以上... – nnnnnn

+1

を持つ他の要素の上に要素を置くことはありません。http:///stackoverflow.com/questions/491052/mininum-and-maximum-value-of-z-index – lbstr

答えて

15

あなたのZ-インデックスは999です。この場合にカバーしようとしている要素のz-インデックス(.menuDivクラスが割り当てられている要素)のZ-インデックスは1001です。999は伸縮ではありません最大のz-index値のブラウザが可能になります。したがって、挿入されたdivはz-indexed要素よりも高い位置にあります。

許容されるZ-インデックス値と最大レベルの要素(通常+2147483647)を作成しようとしている場合の使用方法については、ご質問がある場合はMinimum and Maximum value of Z-INDEXを参照してください。

あなたは今までに、この要素は何も(警告:潜在的要素はまた、それを用い除く)で上に積層させたくないことがわかっている場合は、使用:

z-index: 2147483647; 

あなたはやや低いものを使用して検討するかもしれません柔軟性を維持したい場合あなたが競合する要素によって重ね合わされているかもしれない数回はおそらくそれに値するでしょう。あなたのZ-index値がMaxの近くにある限り、あなたのプラグインでいくつかのレンダリングの問題を引き起こす可能性を気にかけないならば、あなたの上にあるあなたの上のZ-

同様の状況がある場合は、Chromeには非常に優れた組み込み検査ツールがあります。問題の原因となった要素を右クリックし、要素を検査し、右の表示領域で「計算されたスタイル」を展開します。 z-indexは( "view inherited"をオンにしていても)トラッキングするのが難しい場合があることに注意してください。静的な内部要素ではなく、適切に配置されたdiv/etcを選択する必要があります。あなたがそれを見つけるまで、巣から引き離してください。

+0

ヒントをありがとう。その理論的限界について聞くのは非常にクールです。残念ながら - 私の問題はまだ発生しています(キャッシュのクリアなど)。 zレイヤリングに影響を及ぼし、最上位のものは何ですか? – aeharding

+0

テストするには、あなたのcssをcode.google.com/p/chromiumページに添付しました。次に、ezselected id属性を使用してdivを追加し、内部にテストテキストを挿入しましたが、右上のメニュー領域と部分的に重なっていることを確認するために幅と上を覆いました。あなたが始めたz-インデックスでは、メニューのドロップダウンの下にあります。それらの(1001)のために使用されたgoogleがz-indexを上回るようにしました。他の点であなたのCSS上に何か他のものが上書きされているかもしれません。あるいは、静的ではない配置を使っている内部要素がもっと多い場合は、別のZ-インデックスを取っているかもしれませんか? – taswyn

+0

レンダリングされた要素を調べ、計算されたz-インデックスが何であるかを確認してください。 – taswyn

関連する問題