2011-06-28 7 views
1

これはIE7で期待どおりに動作しない私のコード例です。 IE7のための問題である相対的な位置付け、divの積み重ねの問題、すなわち7です。

.oner { 
    position:relative; 
    height:50px; 
    background:#fff; 
    border:5px solid #e4e4e4; 
    height:200px; 
    margin-top:20px; 
} 

.onea { 
    position:absolute; 
    height:500px; 
    right:0; 
    width:200px; 
    background: #eee; 
    z-index:999; 
} 

.onet { 
    position:absolute; 
    height:500px; 
    left:0; 
    width:200px; 
    background:red; 
    z-index:999; 
} 

HTML:

<div style="height:500px;width:900px;margin:auto;"> 
    <div class="oner"> 
     <div class="onea">IE IE7 this div goes behind the "oner" div below </div> 
    </div> 
    <div class="oner"> 
     <div class="onet">My name is Sumit Kumar Ray my email is ..</div> 
    </div> 
</div> 

何が起こるかというとonea div要素には、以下のoner div要素の後ろに行くことですが、他のブラウザでは、両方のインナーので

+0

実際の問題は何か教えてください。 ... – zik

+0

これをきちんと整理してください。あなたが知りたいことを明確にし、あなたのコード例を再フォーマットして読めるようにし、問題を緩和しようとしたことを教えてください。 –

+0

スタイルが適用されているHTML部分も私たちに教えてください。また、スクリーンショットも参考になります(ie7を持っていない人のために) – Matyas

答えて

1

divにz-indexを設定すると実際にはスタッキングコンテキストが作成されるはずです。単純にdivを持ってきて、別のものの上に適用されていません。私はIE7がそれを正しく得られなかったと思います。 )

私はonerのdivそれらにz-indexを設定することにより、スタックの先頭を作成するものを作るために良いだろうと思うし、何が第二

より z-index高いを持っている最初の onerのためにそれをしたいです
<div style="height:500px;width:900px;margin:auto;"> 
    <div class="oner" style="z-index: 1;"> 
     <div class="onea">IE IE7 this div goes behind the "oner" div below </div> 
    </div> 
    <div class="oner"> 
     <div class="onet">My name is Sumit Kumar Ray my email is ..</div> 
    </div> 
</div> 

これには絶対的なPは必要ありませんそれらのdivが相対位置の親IEから "z level"を取るようになり、スタックはかなり混乱する可能性があります。

CSS:

.oner { 
    position:relative; 
    height:50px; 
    background:#fff; 
    border:5px solid #e4e4e4; 
    height:200px; 
    margin-top:20px; 
} 

.onea { 
    position:absolute; 
    height:500px; 
    right:0; 
    width:200px; 
    background: #eee; 
} 

.onet { 
    position:absolute; 
    height:500px; 
    left:0; 
    width:200px; 
    background:red; 
} 

それはあなたがこの例のように2つ以上のものを持っている場合は、それはだ(..最高である第1の1のすべてのonerのdivにレベルを設定する必要があることを意味しているがなぜあなたはもっと多くのクラスを分けるためにいくつかのクラスが必要な場合は、onerスタイルをHTMLにインラインで入れてください)

+0

位置関係のためにZ-indexの問題が原因で問題にはなりません。 –

+0

はい、絶対的なdivを取得するためには、相対的な位置関係が必要です。あなたは右のdivが上を行くようにしたいですか? - そうなら、それは積み重ねコンテキスト、(Z-インデックス)問題です。 – clairesuzy

+0

clairesuzyは正しいですか、このフィドルを確認してください:http://jsfiddle.net/K4uEs/ – shanethehat

1

をオーバーレイdivのzindexは999ですが、最初のものをオーバーレイする必要がありますが、zindexの結果はブラウザ間で予測できません。本当に深度を正確に制御するために、異なるzindex値を設定する必要があります。

+0

私が同じ問題をやろうとしている問題ではないことは、相対的なことです。 –

関連する問題