Пример разметки:
<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 контента end sup перекрывает ранее созданный один раз).
Есть ли умный способ изменить это поведение с помощью CSS/HTML? Или это решение, позволяющее отображать страницу, а затем с помощью javascript захватывать все элементы div по порядку и присваивать каждому из них z-индекс в обратном порядке?
ОБНОВИТЬ:
Вот более конкретная разметка:
<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 (красный) будет поверх предыдущего (оранжевый).
Я не могу понять, какой тип z-индексов мне нужно применить, чтобы ПЕРВЫЙ цветной перекрывающийся div был сверху. Порядок сверху вниз по z-индексу должен отражать разметку (желтый сверху, красный снизу).
Это, конечно, обратная сторона стандарта.
Я готов использовать javascript для исправления этого пост-дисплея, но я все еще борюсь за точный CSS, который мне нужно применить через javascript. Это то, что я после выполнимо?
counter-increment: my-counter; z-index: counter(my-counter, decimal);
ИЛИz-index: calc(xpos+1)
, но у меня не получается. - person skibulk   schedule 09.10.2014