J'aimerais créer un effet paradoxal par le biais de l'option z-index
CSS propriété.
Dans mon code, j'ai cinq cercles, comme dans l'image ci-dessous, et ils sont tous positionnés de manière absolue, sans aucune définition. z-index
. Par conséquent, par défaut, chaque cercle recouvre le précédent.
Actuellement, le cercle 5 recouvre le cercle 1 (image de gauche). Le paradoxe que j'aimerais réaliser est d'avoir, en même temps, le cercle 1 sous le cercle 2 et sur le cercle 5 (comme dans l'image de droite).
(source : <a href="http://paradox.schramek.cz/1.jpg" rel="nofollow noreferrer">schramek.cz </a>)
Voici mon code
Markup :
<div class="item i1">1</div>
<div class="item i2">2</div>
<div class="item i3">3</div>
<div class="item i4">4</div>
<div class="item i5">5</div>
CSS
.item {
width: 50px;
height: 50px;
line-height: 50px;
border: 1px solid red;
background: silver;
border-radius: 50%;
text-align: center;
}
.i1 { position: absolute; top: 30px; left: 0px; }
.i2 { position: absolute; top: 0px; left: 35px; }
.i3 { position: absolute; top: 30px; left: 65px; }
.i4 { position: absolute; top: 70px; left: 50px; }
.i5 { position: absolute; top: 70px; left: 15px; }
Un exemple en direct est également disponible à l'adresse suivante http://jsfiddle.net/Kx2k5/ .
J'ai essayé de nombreuses techniques avec des ordres d'empilage, des contextes d'empilage, etc. J'ai lu quelques articles sur ces techniques, mais sans succès. Comment puis-je résoudre ce problème ?
10 votes
S'il s'agit simplement d'un défi de codage, peut-être cela devrait-il se faire sur codegolf ?
12 votes
Je pense que l'OP cherche de l'aide. Il veut que ce soit un défi pour lui de le résoudre. Je pense que c'est quelque chose que beaucoup apprendront une fois qu'ils l'auront fait. Pour ma part, je trouve cette technique utile.
0 votes
@1ubos. Pas de jquery/JS du tout ? Il me semble que cela nécessitera une utilisation logique de IndexOf
0 votes
Je pense que cela n'est pas possible avec le seul z-index. Vous pourriez avoir plus de chance avec des pseudo-éléments :after, mais je ne pense pas que cela soit autorisé par le défi.
5 votes
Ceci n'est pas possible en utilisant le z-index. Le z-index définit les couches, c'est une séquence de nombres entiers : -x, 0, x vous ne pouvez pas avoir : x1 < x2 < x1
4 votes
Ne contournez pas le filtre de qualité avec un faux bloc de code. Incluez le code dans la question elle-même, ou supprimez le lien de manipulation s'il n'est pas essentiel. De plus, je vous conseille de reformuler votre question en un problème réel de recherche plutôt qu'en un problème de DÉFI si vous voulez que votre question soit prise au sérieux.
0 votes
J'ai reformaté la question en y incluant le code de son fiddle.
0 votes
@Fabrizio Calderan : Merci !
0 votes
@Fabrizio Calderan : Merci ! J'ai essayé votre code et il fonctionne très bien...
0 votes
@1ubos Vous vraiment devrait accepter des réponses à vos questions. Je vois que vous n'êtes pas souvent en ligne. J'espère que vous verrez ceci.
0 votes
Cet article de css-tricks traite précisément de cette question