Partage
  • Partager sur Facebook
  • Partager sur Twitter

Les transitions html css, kesako ?

Menu intéractif

Sujet résolu
    27 mai 2018 à 0:09:37

    Bonjour à toutes et à tous,

    J'aimerai bien faire un menu interactif,

    Pour l'instant tout roule, mais il y a sûrement une quantité astronomique d'améliorations possibles.

    Le menu est un menu de haut en bas, c a d lorsque la souris est sur le premier élément un sous menu qui était en mode display:none; devient display:block;

    Cependant c'est un peu brutal, si on navigue dans le sous menu 1 et que notre curseur par sur l'item 2 du menu principal ; instantanément, le sous menu 1 disparaît et le sous menu 2 apparaît. C'est normal, c'est coder tel quel.

    Mais c'est un peu frustrant d'avoir sa souris qui est déjà positionner sur le 3ème items du sous menu 2 avant même qu'on en ait pu lire le 1er avec nos yeux.

    J'ai observer certains code source, et remarqué certaines balises nommé transition-xxx; avec d'autre attribut du style ::after et ::before;

    J'ai eu du mal a comprendre comment ce fonctionnement, mais je me suis dit que ça pouvait être une solution à envisager pour ne plus être surpris par ce changement aussi brutal.

    Un truc du style le sous menu 1 ( ul ) verra ça hauteur passer de 0% à 100% en x secondes lors du passage de la souris au premier item du menu principal me semblerai régler le problème.

    Evidemment je ne sais pas du tout comment ça marche, et je viens à vous, soit pour trouver un exemple d'implémentation avec ces mystérieuses transitions où bien trouver une autre méthode qui aurait l'effet voulu : que le menu interactif de haut en bas, deviennent un menu déroulant de haut en bas.

    Merci de votre temps et de votre aide :)

    golgoo

    -
    Edité par Golgoo 27 mai 2018 à 0:11:24

    • Partager sur Facebook
    • Partager sur Twitter
      27 mai 2018 à 7:35:44

      Bonjour,

      les transitions sont, comme tu l'as deviné, un moyen d'indiquer au navigateur qu'un effet doit se faire progressivement. Sauf que toutes les propriétés ne sont pas animables. En particulier celles qui sont discrètes, comme "display" (discrètes au sens de "valeurs indépendantes, non-liées") : ça n'aurait pas de sens.

      Pour faire un menu déroulant animé, tu peux t'inspirer de http://www.frogweb.fr/menu-deroulant-horizontal/ (le second exemple).

      Pour les transitions en général, tu peux lire ceci : https://developer.mozilla.org/fr/docs/Web/CSS/CSS_Transitions/Utiliser_transitions_CSS (qui contient notamment un lien vers la liste des propriétés animables.

      • Partager sur Facebook
      • Partager sur Twitter

      Pas d'aide concernant le code par MP, le forum est là pour ça :)

        27 mai 2018 à 12:49:33

        Merci ce sont exactement les liens qu'ils faut. Ca n'à pas l'air si évident à bien prendre en main.

        Je vais d'abbord bien finir le cours sur le site ( notament ces foutus flex box !! ) puis je me lancerai pour les transitions.

        Mais dans l'idée faire un changement de propriété avec display dans un premier temps puis dérouler le menu avec sa hauteur

        ou bien juste modifié sa hauteur avec overflow:hidden c'est pas bête :)

        Sujet résolu sur les liens merci

        • Partager sur Facebook
        • Partager sur Twitter

        Les transitions html css, kesako ?

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown