基本的には、画像がページと重なっているように、私のサイトの#page_container
の後ろにオーバーラップコーナーを置こうとしています。予期しないZ-インデックスのスタッキング動作
ライブ例:http://jsfiddle.net/xBwQp/15/
HTML:
<div id="page_container">
<div id="banner_wrapper">
<img id="banner_image" src="http://placehold.it/350x150" />
<div class="triangle-l"></div>
<div class="triangle-r"></div>
</div>
</div>
CSS:あなたは、三角形、.triangle-l
と.triangle-r
は、はっきりz-index:5
下を持っていることがわかります
#page_container {
background: red;
width: 400px;
position: relative;
z-index: 10;
}
#banner_wrapper {
position: relative;
}
#banner_image {
position: relative;
}
.triangle-l {
border-color: transparent green transparent transparent;
border-style: solid;
border-width: 15px;
height: 0px;
width: 0px;
position: absolute;
right: 0px;
top: 0px;
z-index: 5;
}
.triangle-r {
border-color: transparent transparent transparent blue;
border-style: solid;
border-width: 15px;
height: 0px;
width: 0px;
position: absolute;
right: 0px;
top: 0px;
z-index: 5;
}
th #page_container
z-index:10
が表示されますが、それらはまだ#page_container
の上に表示されます。
.triangle-l
と.triangle-r
をz-index:-1
に設定することで、私の望む結果を達成することができましたが、これはFF、Opera、およびWebkitでのみ機能します。 IEサポートなし。
私はそれがスタッキングの文脈と関係していると信じています。しかし、私はブラウザ間の互換性をもって望む結果を達成する方法が不明です。
_setは、私が現在行っているものです。しかし、これはIEにはやらないので、私のジレンマはありません。 –
どのバージョンのIEに問題がありますか?私はちょうど私が現時点で利用可能なものであり、私の答えに概説されているように正確に動作するIE8でテストしました:http://jsfiddle.net/xBwQp/18/ – xec