Przykład Markup:cofania z-index na podstawie strony czynią zamówienie
<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>
Przykład CSS:
.wrapper {z-index: 1}
.wrapper div {display: none; position: absolute;}
Via javascript (jQuery) Jestem załączając zdarzenie kliknij aby każdy h2, która będzie następnie przełącz zawartość div na display: block.
Chodzi o to, że są to rozszerzalne bloki treści, które pokrywają się z pozostałymi elementami strony.
Połów jest taki, że chciałbym, aby pierwszy nakładał się na drugi, który pokrywa się z trzecim, jeśli wszystkie są otwarte.
Jednakże, ponieważ każdy z nich jest renderowany PO poprzednim, rzeczywista kolejność układania jest odwrócona (Ostatnia zawartość div utworzyła koniec sup nakładając poprzednio utworzony raz).
Czy istnieje sprytny sposób na odwrócenie tego zachowania za pomocą CSS/HTML? Czy jest to rozwiązanie pozwalające na renderowanie strony, a następnie za pośrednictwem javascript, chwytanie wszystkich elementów div w kolejności i nadawanie każdemu z nich w odwrotnej kolejności?
UPDATE:
Oto kilka specyficznych znaczników:
<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>
Poniższy znaczników będzie produkować 3 div, każdy z kolorowym div kumulacji. Ze względu na kolejność renderowania, ostatni absolutnie pozycjonowany DIV (czerwony) będzie znajdował się na wierzchu poprzedzającego go (pomarańczowy).
Nie mogę określić, jaki typ z-indeksów muszę zastosować, aby uzyskać PIERWSZY kolorowy pokrywający się element div, który będzie na wierzchu. Kolejność z góry do dołu pod względem indeksu Z powinna odzwierciedlać oznaczenia (żółty na górze, czerwony na dole).
Jest to, oczywiście, odwrotność normy.
Jestem skłonny użyć javascript do naprawy tego post-displayu, ale wciąż walczę o dokładne CSS, które muszę zastosować przez javascript. Czy to, co robię, jest po dokończeniu?
Chciałbym również zobaczyć odpowiedź na to! Mam dokładnie ten sam problem, z wyjątkiem tego, że nie będę wiedział z wyprzedzeniem, ile jest stosów! – n8wrl
Byłoby fajnie, gdyby funkcje css3 mogły być używane jako wartości z-index. I.E .: 'counter-increment: my-counter; z-index: counter (my-counter, decimal); 'OR' z-index: calc (xpos + 1) ', ale nie mogę sprawić, żeby działało. – skibulk