Пример разметки:
<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) Я прикрепляю событие click к каждому h2, которое затем переключает div содержимого на display: block.
Предполагается, что это расширяемые блоки контента, которые будут перекрывать все остальное на странице.
Загвоздка в том, что я бы хотел, чтобы первый перекрывал второй, который перекрывал бы третий в случае, если все они открыты.
Однако, поскольку каждый из них визуализируется ПОСЛЕ предыдущего, фактический порядок размещения меняется на противоположный (последний созданный div содержимого заканчивается наложенным выше на один ранее созданный).
Есть ли умный способ изменить это поведение с помощью CSS / HTML? Или это решение позволить странице визуализировать, а затем с помощью javascript захватить все div содержимого в порядке и дать каждому z-index в обратном порядке?
UPDATE:
Вот более конкретная разметка:
<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 (красный) будет поверх предыдущего (оранжевый).
Я не могу понять, какой тип z-индексов мне нужно применить, чтобы получить ПЕРВЫЙ цветной перекрывающийся div, чтобы он был сверху. Порядок сверху вниз с точки зрения z-index должен отражать разметку (желтый сверху, красный снизу).
Это, конечно, обратный стандарт.
Я готов использовать javascript для исправления этого пост-показа, но я все еще борюсь за точный CSS, который мне нужно применить через javascript. Это то, что я после выполнимо?