IPB

Bienvenue invité ( Connexion | Inscription )

> Mise en page animée, Nouveautés de CSS
Options
Anard
posté 23 Jan 2019, 15:37
Message #1


Macbidouilleur d'argent !
***

Groupe : Membres
Messages : 659
Inscrit : 7 May 2015
Membre no 195 224



Bonjour à tous. Je viens vous voir pour un assistance cosmétique (et non pas cosmique).

Je suis en train de me remettre un peu au développement web. Depuis le temps que je n'y était pas venu, ça a bien bougé ! On peut maintenant faire des animations en CSS biggrin.gif
Du coup pour mon nouveau site, je voudrais créer une interface adaptative et animée sans utiliser de javascript.

J'ai un menu principal "à la con" avec des chapitres principaux répartis autour d'une image. Le survol d'un chapitre doit faire apparaître un sous menu dans un genre de bulle, si possible de manière animée.
J'ai réussi à mettre en place quelques animations sur la couleur des liens, c'est déjà formidable.
Mais je n'arrive pas à faire apparaître ma box de manière progressive.

La construction du menu repose sur cette syntaxe :
Code
<dl><!-- élément de menu -->
    <dt><!-- titre du menu toujours visible, mais mobile-->
    <dd><ul><!-- sous-menu invisible au départ et qui doit apparaitre -->
        <li><!-- les différentes lignes du sous-menu -->


Pour faire apparaitre un <dd>, j'utilise dans mon css :
Code
dl:hover dd {
    display: inline-block;
}


Malheureusement, je n'arrive pas à animer cette appartition, même en indiquant au préalable
Code
dl dd {
    transition: display 1s;
}

En effet, il semble que la transistion doit s'appliquer à l'élément survolé et non à un sous-élément (en l'occurrence, je veux afficher le <dd> au survol du <dl> parent).
Je ne sais pas si je me fais bien comprendre...

Je découvres ces nouvelles fonctionnalités, alors votre aide serait la bienvenue...

Merci beaucoup. Pour plus d'informations, vous pouvez visualiser l'état des choses ici


--------------------
"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go DDR3, Asus GTX670 Intel HD4600, 2x SSD 256Go, HDD 500Go+Zraid 3x2To / Clover - macOS Mojave / Gentoo-Xfce
"Portable" : HP Pavilion DV3500, Intel core2 T6400, 4Go DDR3, NVidia GeForce 9300M, HDD 256Go / Grub2 - Gentoo-Xfce
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
Anard
posté 24 Jan 2019, 16:06
Message #2


Macbidouilleur d'argent !
***

Groupe : Membres
Messages : 659
Inscrit : 7 May 2015
Membre no 195 224



Voilà, j'ai corrigé pour suivre vos conseils, en effet, je préfère toujours utiliser des balises adaptées quand je peux plutôt que de mettre des class et id.
Je ne me souvenais plus de nav par exemple.
J'ai donc mis à jour avec la structure que vous me conseilliez. jap.gif

J'ai finalement décidé de n'utiliser que mon gros menu pour plus de simplicité. La version verticale (ou horizontale, je ne sais pas encore) sera utilisée, mais uniquement en vue adaptative pour les écrans limités en largeur.
Ca me parait plus logique au niveau de la navigation que le menu ne change pas de place en fonction de la page visitée...

Je voulais d'ailleurs éviter de mettre des class="menu" class="ssmenu" partout mais je crois que je vais être obligé.
Je m'explique : lors du survol d'un lien, je fais donc apparaître un mini phono à côté du lien. Pour le moment comme ceci :
Code
/* apparition petit phono */
nav li li img {
    transition: opacity 1s ease, transform 0.5s ease;
}
nav li li:hover img {
    transform: scale(1);
    opacity: 1;
}


Le "li li" ne sélectionne que les sous-menus. Pour obtenir la même chose pour tous les liens (menus et sous-menus), j'ai essayé :
Code
/* apparition petit phono */
nav li img {
    transition: opacity 1s ease, transform 0.5s ease;
}
nav li:hover img {
    transform: scale(1);
    opacity: 1;
}

Malheureusement, du fait de l'héritage en CSS, les sous-menus se retrouvent avec le petit phono sur chaque ligne... Je ne sais pas encore précisément comment lui demander de ne pas sélectionner les enfants mais j'espère pouvoir trouver avec des classes.

EDIT : j'ai trouvé une solution sans ajout de id et classes.
Mon img doit être le premier enfant du li et alors je peux le sélectionner par
Code
li > img

Les balises img suivantes ne sont pas prises en compte, même si elles sont également enfant du li. thumb.gif

Ce message a été modifié par Anard - 24 Jan 2019, 18:06.


--------------------
"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go DDR3, Asus GTX670 Intel HD4600, 2x SSD 256Go, HDD 500Go+Zraid 3x2To / Clover - macOS Mojave / Gentoo-Xfce
"Portable" : HP Pavilion DV3500, Intel core2 T6400, 4Go DDR3, NVidia GeForce 9300M, HDD 256Go / Grub2 - Gentoo-Xfce
Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 19th July 2025 - 10:26