J'utilise le code de cette page:transition CSS ne fonctionne pas à goutte vers le bas
Maintenant, mon CSS ressemble à:
.subs {
visibility: hidden;
opacity: 0;
transform: translateY(-2em);
z-index: -1;
transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
width: auto;
float: left;
position: absolute;
text-align: left;
border: 2px solid #66ec95;
background: #f4f7f5;
border-radius: 0 5px 5px 5px;
margin-top: -10px;
margin-left: -10px;
}
/* SELECTORS */
#nav li:hover > .subs { /* with this seletor, only the last property is working */
visibility: visible;
opacity: 1;
z-index: 1;
transform: translateY(0%);
transition-delay: 0s, 0s, 0.3s;
margin-top: 10px; /* just for test, only this is working */
}
#nav li :hover + .subs { /* this time, the animation are working but other problems occured (see above) */
visibility: visible;
opacity: 1;
z-index: 1;
transform: translateY(0%);
transition-delay: 0s, 0s, 0.3s;
}
Mon HTML:
<ul id="nav">
<li aria-haspopup="true">
<a href="javascript:void(0)">Services</a>
<div class="subs" id="service-subs" aria-haspopup="false">
<a href="~/services/all">Product List</a><br />
<a href="~/services/projects">Projects</a><br />
</div>
</li>
... and so on
Ainsi, le second sélecteur pour .subs
affiche l'animation, mais il se brise quand je déplace mon curseur dans .subs
et il est également interrompu à plusieurs reprises sur l'affichage à cause du curseur détecte .subs
tout en montrant le menu.
En outre, je ne peux pas comprendre pourquoi cela fonctionne avec le sélecteur sibling .subs
est un enfant de #nav li
.
Qu'est-ce que je fais mal?
Merci!
Je ne vois pas de problème avec le lien fourni. Pouvez-vous expliquer quel est le problème ici? – Dekel
En particulier, lorsque j'utilise le second sélecteur et déplace la souris sur un élément de menu dans la barre de navigation, le sous-menu va glisser vers le bas. Mais quand je veux cliquer sur un lien dans le sebmenu, il disparaît. J'ai trouvé une communauté pour ça: j'ajoute le sélecteur ".subs: hover" à la seconde. Mais voici un autre problème, c'est que si je déplace ma souris du bas vers la barre de navigation, l'animation commence et le navigateur détecte ".subs" avant la fin de l'animation. Finalement, l'animation tourne à la fin immédiatement, donc mon sous-menu «se téléporte» au lieu de glisser. – NagyDani
Je ne vois pas cela dans votre exemple ... – Dekel