Bonjour a tous,
J'ai un petit souci sur cette page :
http://aspirine.legtux.org
Je me suis pas mal creusé la tête pour avoir une apparition des menus assez sympa, je me suis finalement arrêté sur celle là.
Ce choix m'a été "imposé" par un bug que je n'ai pas réussi a résoudre ni comprendre.
Simplement, la barre est fixe et possède un z-index de 200. Ce qui se trouve dessus (liens etc) a un z-index de 201. Je voulais que les ul qui composent les menus qui apparaissent, viennent d'au dessus, passent EN DESSOUS de cette barre fixe et se place la ou elles sont actuellement.Mais impossible d'y parvenir, quoique j'y fasse, meme avec un z-index de -900000 (si j'ai testé ) le menu passe AU DESSUS de ma barre fixe =/
Alors z-index bugue t'il sur les balises enfants ?
J'ai donc pour l'instant décidé de le faire passer par en dessous. Mais ca me pose un nouveau probleme.
En effet, pour l'effet de transition, j'utilise un opacity: 0 sur le div quand le lien qui le fait apparaitre n'est pas survolé. Sur un lien ~ ul je fais passer cette opacity à 1, ce qui fait cette transition. Et pour que le menu reste en place lorsqu'on a quitté le survol du lien et qu'on est passé au survol du lien, j'ai rajouté un ul:hover après lien ~ ul (donc lien ~ ul, ul:hover, vous me suivez ?).
Mon problème est simple : il suffit de passer la souris DESSOUS la barre de menu, pour faire apparaitre quand meme le menu, puisque le contenu est présent, pas affiché via opacity: 0, mais présent tout de meme. Je me suis, ok, on va mettre display: none quand pas survolé et display:block, quand ca l'est.
Et la....c'est le drame : pas d'effet de transition =/
Alors...bug aussi ?
Je requiers votreaide et surtout vos idées parce que la je sèche
Merci d'avance !
EDIT : à savoir que pour l'instant mon idée est de jouer sur scale(), ce qui marche presque.
Je passe d'un scale(0) à scale(1) au :hover ca marche bien puisque passer la souris sous le menu n'affecte plus cet element qui a une taille nulle, le souci c'est que cette propriété est comprise dans le "all" de transition. Or je ne veux pas qu'on voit cet effet.
Question donc :
Peut-on sélectionner uniquement DEUX propriétés pour la transition ? Parce que tous mes essais se sont soldés par un échec :
Avec transition: top, opacity .15s ease; seulement opacity est affectée. Si on inverse les deux propriétés c'est donc top qui est affectée, mais pas l'opacité.
Pareil si on déclare chaque propriété dans une autre transition :
transition: opacity .15s ease;
transition: top .15s ease;
N'affecte que top....
Modifié par Ozymandias (15 Sep 2012 - 08:27)
J'ai un petit souci sur cette page :
http://aspirine.legtux.org
Je me suis pas mal creusé la tête pour avoir une apparition des menus assez sympa, je me suis finalement arrêté sur celle là.
Ce choix m'a été "imposé" par un bug que je n'ai pas réussi a résoudre ni comprendre.
Simplement, la barre est fixe et possède un z-index de 200. Ce qui se trouve dessus (liens etc) a un z-index de 201. Je voulais que les ul qui composent les menus qui apparaissent, viennent d'au dessus, passent EN DESSOUS de cette barre fixe et se place la ou elles sont actuellement.Mais impossible d'y parvenir, quoique j'y fasse, meme avec un z-index de -900000 (si j'ai testé ) le menu passe AU DESSUS de ma barre fixe =/
Alors z-index bugue t'il sur les balises enfants ?
J'ai donc pour l'instant décidé de le faire passer par en dessous. Mais ca me pose un nouveau probleme.
En effet, pour l'effet de transition, j'utilise un opacity: 0 sur le div quand le lien qui le fait apparaitre n'est pas survolé. Sur un lien ~ ul je fais passer cette opacity à 1, ce qui fait cette transition. Et pour que le menu reste en place lorsqu'on a quitté le survol du lien et qu'on est passé au survol du lien, j'ai rajouté un ul:hover après lien ~ ul (donc lien ~ ul, ul:hover, vous me suivez ?).
Mon problème est simple : il suffit de passer la souris DESSOUS la barre de menu, pour faire apparaitre quand meme le menu, puisque le contenu est présent, pas affiché via opacity: 0, mais présent tout de meme. Je me suis, ok, on va mettre display: none quand pas survolé et display:block, quand ca l'est.
Et la....c'est le drame : pas d'effet de transition =/
Alors...bug aussi ?
Je requiers votreaide et surtout vos idées parce que la je sèche
Merci d'avance !
EDIT : à savoir que pour l'instant mon idée est de jouer sur scale(), ce qui marche presque.
Je passe d'un scale(0) à scale(1) au :hover ca marche bien puisque passer la souris sous le menu n'affecte plus cet element qui a une taille nulle, le souci c'est que cette propriété est comprise dans le "all" de transition. Or je ne veux pas qu'on voit cet effet.
Question donc :
Peut-on sélectionner uniquement DEUX propriétés pour la transition ? Parce que tous mes essais se sont soldés par un échec :
Avec transition: top, opacity .15s ease; seulement opacity est affectée. Si on inverse les deux propriétés c'est donc top qui est affectée, mais pas l'opacité.
Pareil si on déclare chaque propriété dans une autre transition :
transition: opacity .15s ease;
transition: top .15s ease;
N'affecte que top....
Modifié par Ozymandias (15 Sep 2012 - 08:27)