マークアップの例:
<div class="wrapper">
<h2>Trigger</h2>
<div>This is some content</div>
</div>
<div class="wrapper">
<h2>Trigger</h2>
<div>This is some content</div>
</div>
<div class="wrapper">
<h2>Trigger</h2>
<div>This is some content</div>
</div>
CSS の例:
.wrapper {z-index: 1}
.wrapper div {display: none; position: absolute;}
javascript (jQuery) を使用して、各 h2 にクリック イベントをアタッチし、コンテンツ div を display: ブロックに切り替えます。
その意図は、これらがページ上の他のものと重なる展開可能なコンテンツのブロックであることです。
キャッチは、最初のものを 2 番目のものとオーバーラップさせたいということです。これは、すべてが開いている場合に 3 番目のものとオーバーラップします。
ただし、それぞれが前のものの後にレンダリングされるため、実際のスタック順序は逆になります (最後に作成されたコンテンツ div は、以前に作成された sup をオーバーレイします)。
CSS/HTML でこの動作を逆転させる巧妙な方法はありますか? または、ページをレンダリングしてから、javascript を使用して、すべてのコンテンツ div を順番に取得し、それぞれに z-index を逆順で与えるソリューションですか?
アップデート:
より具体的なマークアップを次に示します。
<div style="padding: 10px;">Hello World
<div style="position: relative; top: -5px;">
<div style="position: absolute; background: yellow;"><p>This</p><p>is</p><p>overlapping</p></div>
</div>
</div>
<div style="padding: 10px;">Hello World
<div style="position: relative; top: -5px;">
<div style="position: absolute; background: orange;"><p>This</p><p>is</p><p>overlapping</p></div>
</div>
</div>
<div style="padding: 10px;">Hello World
<div style="position: relative; top: -5px;">
<div style="position: absolute; background: red;"><p>This</p><p>is</p><p>overlapping</p></div>
</div>
</div>
次のマークアップは 3 つの div を生成し、それぞれに色付きの div が重なっています。レンダリングの順序により、最後に絶対配置された DIV (赤) は、その前の DIV (オレンジ) の上に配置されます。
最初の色付きの重複する div を一番上にするために適用する必要がある z-index のタイプがわかりません。Z インデックスに関する上から下への順序は、マークアップを反映する必要があります (上が黄色、下が赤)。
もちろん、これは標準の逆です。
このポストディスプレイを修正するために JavaScript を使用しても構わないと思っていますが、JavaScript を介して適用する必要がある正確な CSS にまだ苦労しています。私がやっていることは実行可能ですか?