SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

288 Plugins, 197 contribs sur SPIP-Zone, 167 visiteurs en ce moment

Accueil > Navigation > Menus réactifs > Menu animé > Menu animé déroulant

Menu animé déroulant

16 août 2015 – par Louis Possoz – 52 commentaires

Toutes les versions de cet article : [English] [français]

13 votes

Afficher très simplement un menu déroulant animé multi niveaux !

Comme ce plugin est encore tout neuf, vous seriez bien aimable de me signaler toute anomalie ou imperfection !

Le plugin est adapté aux petits écrans (mobiles) !
Les thèmes de couleur et les dimensions sont modifiables, comme expliqué dans la dernière partie de l’article.

Introduction

Souplesse et simplicité de cet afficheur de menus. Un exemple sur le site de notre Repair Café.
Il utilise (tous ?) les potentiels des différents navigateurs : dégradés de couleurs, ombrage des boîtes et des textes ainsi qu’arrondis des coins, sans parler de la dynamique des boîtes de menu !

Pour les petits écrans, le plugin réagit différemment et permet d’afficher un menu déroulant vertical. Cerise sur le gâteau, le menu disparaît à l’impression, il sait se faire discret !

Menu animé n’est pourtant constitué que d’une simple (!) feuille de style (menu_anime.css). C’est elle qui fait tout le travail !
Ce plugin est un complément idéal au plugin menus mais il convient parfaitement à tous les menus contenant un sélecteur class="menu_anime".

Le plugin est conçu de manière à simplifier l’adaptation des couleurs et des dimensions à chaque site en particulier. Une méthode pour ce faire est décrite en détail en fin d’article.

L’idée originale de cet afficheur de menus revient à Catalin Rosu (son exemple). Ce plugin a été développé au départ de son élégant et talentueux maniement des feuilles de style.

Installation

Choisissez une des méthodes manuelle ou automatique fournies par SPIP. Le plugin n’a aucune dépendance.

Utilisation

L’utilisation la plus simple et la plus générale se fait au moyen du plugin menus. Après avoir activé ce plugin (si ce n’est déjà fait), il suffit d’y créer un menu (ou de modifier un menu existant) en veillant à lui attribuer la classe CSS menu_anime comme on peut le voir sur la capture d’écran qui suit.

Ici, l’identifiant « barrenav » provoque l’affichage du menu dans la barre de navigation. Aucune autre intervention dans les squelettes n’est nécessaires !

Plus généralement, le plugin affichera toute liste de liens, à un ou plusieurs niveaux, dont le premier niveau contient le sélecteur .menu_anime (i.e. <ul class="menu_anime">) et dont le parent immédiat appartienne à la classe .menu-conteneur (e.g. <div class="menu-conteneur">).

Bien entendu et comme d’habitude, la feuille de style menu_anime.css peut être modifiée (en plaçant la copie modifiée dans le répertoire squelettes/css/) ou surchargée (par exemple dans la feuille perso.css). Vous serez par exemple certainement intéressé.e.s à en modifier les couleurs. Cependant, l’intervention directe sur la feuille de style est particulièrement complexe et rébarbative. C’est pour cette raison qu’une méthode alternative a été développée (voir ci-dessous).

Modification des couleurs et dimensions

Le plugin contient un fichier menu_anime.less permettant une adaptation facile (?) aux spécificités propres à chaque site Internet.
Même si la procédure peut paraître un peu rébarbative, elle est infiniment plus simple qu’une édition directe du fichier menu_anime.css.

La procédure consiste à :

  1. Ouvrir pour édition le fichier menu_anime.less contenu dans le paquet.
  2. Modifier dans ce fichier les valeurs des variables de couleur et/ou de dimension souhaitées. Elles sont rassemblées tout au début du fichier.
  3. Compiler le fichier résultant au moyen d’un compilateur ’less’, par exemple un compilateur en ligne.
  4. Créer un fichier menu_anime.css vide et y copier-coller le résultat de la compilation.
  5. Placer ce nouveau fichier dans le répertoire squelettes/css/ ou remplacer celui qui se trouve dans le repertoire plugins/auto/menu_anime/css/ .

Exemple pour modifier la couleur de base du menu anime déroulant

  1. Choisir une nouvelle couleur au moyen d’un utilitaire de couleur en ligne.
  2. Ouvrir le fichier menu_anime.less dans un éditeur.
  3. Y remplacer la valeur de la couleur ( #b0422c ) dans la ligne @theme-basic: #b0422c; /* ... */ par celle qui a été choisie.
  4. Compiler le contenu du nouveau fichier ainsi obtenu au moyen d’un compilateur en ligne.
  5. Créer un nouveau fichier menu_anime.css vide et y placer tout le résultat de la compilation (par copier coller).
  6. Placer le fichier menu_anime.css ainsi obtenu dans le répertoire squelettes/css/ de votre SPIP préféré.

Simple, n’est-il pas ?

Une autre solution consisterait probablement à utiliser le plugin LESS pour SPIP. Je ne suis cependant pas certain qu’elle présenterait un avantage dans la mesure où on ne modifie que rarement les couleurs d’un site Internet une fois celui-ci installé. A voir...

Voir en ligne : http://plugins.spip.net/menu_anime

Dernière modification de cette page le 5 février 2016

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 1er juillet à 12:41, par syldupac En réponse à : Menu animé déroulant

    Je travaille sur un site éditorial (beaucoup de rubriques, beaucoup d’articles).
    je voudrais un menu déroulant qui affiche rubriques et articles (grand écran) et qui propose en taille réduite un bouton, et que ce bouton ouvre un menu déroulant (vertical, bien sûr...)
    Pour le moment, avec menu animé déroulant 1.0.10 (et le plugin Menus 1.6.8) j’obtiens un bien un menu qui s’ouvre sous le pointeur mais qui n’affiche pas les articles (malgré l’option précise dans Menus).
    Et en petit écran, j’obtiens une liste, utilisable quand on a que quelques articles mais qui n’est pas un menu déroulant.
    Je suis un peu bloqué... merci

    Répondre à ce message

  • Le 14 mai à 07:48, par Pascal En réponse à : Menu animé déroulant

    Bonjour,
    je voudrais modifier le moment ou le menu hamburger pour les petit écrans s’affiche.
    la limite est actuellement à 767/769px
    Je voudrais qu’elle soit à 800px
    Cordialement

    • Le 14 mai à 08:20, par Louis Possoz En réponse à : Menu animé déroulant

      Bonjour Pascal,

      Les chiffres que vous indiquez (767/769px) sont très fréquemment utilisés pour définir la limite de largeur d’écran des smartphones. Par contre, ils ne se trouvent nulle part dans le plugin dans lequel la limite est fixée à 600px. Bizarre ! Auriez-vous un hyperlien vers votre site ?

      Sinon, il vous suffit de remplacer le 600 par 800 dans la ligne
      @media screen and (max-width: 600px)
      et 600 par 801 dans la ligne
      @media screen and (min-width: 600px)

      Dans une prochaine version je rendrai cette valeur paramétrable. :-)

    • Le 15 mai à 04:07, par Pascal Engelmajer En réponse à : Menu animé déroulant

      Merci beaucoup de votre réponse.
      C’est ce que j’avais vu.
      J’utilise bootstrap dans SPIPR-DIST
      J’ai modifié le paramètre du @media screen dans bootstrap (je ne suis pas un expert en .less tant s’en faut !). Cela modifie bien l’affichage de la page, mais le menu n’est pas le menu hamburger... comme vous pouvez le constater.
      Le site est un site de mise au point et non de production.
      http://www.safarine.ovh/index.php
      Merci encore de votre aide
      Cordialement

    • Le 15 mai à 10:38, par Louis Possoz En réponse à : Menu animé déroulant

      Bonjour,

      Il s’en faut d’un px. :-) Votre image indique 768px et vous avez réglé la transition a 767px dans bootstrap. Pour vos difficultés avec le plugin bootstrap, peut-être devriez vous plutôt poser vos questions sur la page du plugin bootstrap. Il est presque inévitable de rencontrer des problèmes lorsque deux plugins tentent de gérer la même fonctionnalité comme ici l’affichage (ce qui est différent de la gestion) des menus de navigation sur petit écran.

      Bonne chance. :-)

    Répondre à ce message

  • Le 25 mars à 20:20, par fgh En réponse à : Menu animé déroulant

    Bonjour
    J’utilise pour la 1re fois menu_animé... mais le menu affiché ne me donne accès qu’aux rubriques de niveau 1 !
    Ni les sous-rubriques, ni les articles ne sont présents.

    Merci pour toute aide

    • Le 26 mars à 08:33, par Louis Possoz En réponse à : Menu animé déroulant

      Aucune idée. Difficile de se faire une idée sans voir votre page. N’y a-t-il pas conflit avec un autre plugin qui gère déjà l’affichage ?

    • Le 26 mars à 10:30, par fgh En réponse à : Menu animé déroulant

      Merci pour votre réponse.
      Le projet de site est à l’url : http://berenice-goni-depreville.com/spip.php?rubrique1
      Les articles contiennent des photos affichées via le plugin « Galleria ».
      Voir http://berenice-goni-depreville.com/spip.php?article2

      Merci pour votre aide

    • Le 28 mars à 13:03, par fgh En réponse à : Menu animé déroulant

      Dans la (longue) liste des paramètres optionnels du plugin « menus », j’ai trouvé celui qui contrôle l’affichage des articles qui est par défaut négatif !!!
      Je me sens tout bête !...

    • Le 3 avril à 15:17, par lc En réponse à : Menu animé déroulant

      bonjour,

      je débute sur spip, et j’ai exactement le même problème que vous... sauf que je n’ai pas compris votre solution. Vous pourriez la détailler par étape ?
      merci beaucoup

    • Le 3 avril à 17:18, par Fhamonno En réponse à : Menu animé déroulant

      Bonjour lc
      De mémoire :
      L’activation du plugin « Menus » génère un nouveau lien dans le menu « Edition » de spip : « Mes menus ».
      On a alors accès à plein de paramètres dont l’affichage des articles (vers la fin de la liste).
      Si tu n’y arrives pas, je serai devant mon ordinateur demain...

    • Le 4 avril à 08:23, par lc En réponse à : Menu animé déroulant

      Alors, mon nouveau lien se trouve dans « squelettes » et c’est « menus du site », mais c’est tout. Rien dans « Edition ».
      Et j’ai bien réussi à faire mon menu, il est juste pas déroulant, comme fgh je n’ai que les rubriques de niveau 1

      Merci hein, je débute alors je galère haha

    • Le 4 avril à 17:27, par fgh En réponse à : Menu animé déroulant

      Aller sur Squelettes -> Menus du site -> Modifier ce menu

      -  Mettre la souris dans la zone « Construction du menu »
      ce qui fait apparaître des icônes : cliquer sur le crayon.
      Apparaît alors la liste des options... dont l’affichage des articles.

      -  On peut aussi y accéder en cliquant sur « Ajouter une entrée ».
      Sélectionner « Liste ou arborescence de rubriques et d’articles
      (avec beaucoup d’options) » puis cliquer sur « Suivant ».

    Répondre à ce message

  • Le 8 octobre 2016 à 14:11, par NS En réponse à : Menu animé déroulant

    Bonjour,

    J’utilise un squelette eva et souhaiterai intégrer ce menu. Cependant je n’y connais pas grand-chose et n’y suis pas arrivé.
    Lorsque je met « visualiser », voici ce que j’ obtiens ... (liste de lien sans mise en page). Pourriez-vous m’expliquez ce que j’ai raté ?
    Merci !

    • Le 26 mars à 08:29, par Louis Possoz En réponse à : Menu animé déroulant

      Si le squelette eva gère déjà l’affichage des menus, il y a probablement conflit.
      Il est toujours difficile de gérer « deux chiens sur le même os ». :-)

    Répondre à ce message

  • Le 19 septembre 2016 à 17:44, par Karen En réponse à : Menu animé déroulant

    Bonjour,

    J’ai réussi à adapter le menu à mes besoins, c’est super ! Merci pour ce travail.

    Cependant j’ai relevé un petit bug, que l’on voit aussi sur la « démo » sur le site de Repair Café : quand la fenêtre du navigateur est à 600px de large exactement, et seulement à 600, le menu en version mobile est déplié d’office et on ne peut pas le replier…

    J’ai réglé ça en modifiant la ligne 323 de menu_anime.css en remplaçant

    1. @media screen and (min-width: 600px)

    par

    1. @media screen and (min-width: 601px)

    J’ai tout travaillé sur le .css et non le point .less que je ne maîtrise pas du tout.

    Merci encore,
    Bonne soirée,
    Karen

    • Le 24 septembre 2016 à 08:45, par Louis Possoz En réponse à : Menu animé déroulant

      Bien joué !
      Votre correction sera intégrée dans la prochaine version du plugin (1.0.11).
      Merci.

    Répondre à ce message

  • Le 6 janvier 2016 à 10:41, par oliv En réponse à : Menu animé déroulant

    Bonjour,
    Je viens de faire une installation de ce plugin sous SPIP 3.0.21 en local et lorsque je diminue la fenêtre de mon navigateur pour tester la compatibilité avec un portable par exemple, le menu disparaît mais n’est pas remplacé par le menu mobile.

    Une idée peut-être ?

    Merci

    • Le 15 septembre 2016 à 15:29, par Karen En réponse à : Menu animé déroulant

      Bonjour,

      Je teste ce plugin pour la première fois et j’ai exactement le même problème en spip 3.1.1… Personne de concerné ou ayant une idée ?
      Il n’apparaît en version mobile qu’aux alentours de 600px de large, et disparaît à mettons 595px… ??
      Aussi, en version mobile, le premier niveau des 3 barres avec la dénomination « menu », qui cache le reste tant qu’on ne clique pas dessus, n’apparaît pas, tout est déroulé.

      Pour le moment je n’ai fait aucun réglage particulier, seulement utilisé le plugin Menus en lui mettant la classe menu_anime. Lui ayant donné l’identifiant barrenav, je l’appelle ainsi :

      1. <INCLURE{fond=inclure/menu, env, identifiant=barrenav} />

      C’est une installation vierge avec seulement les plugins Menus, Menu animé déroulant et Saisies pour formulaires… bref, le minimum.

      J’ai très envie de tester ce menu sur mon prochain site en production, en particulier pour sa souplesse en responsive ! D’avance merci…
      Karen

    • Le 15 septembre 2016 à 15:46, par Karen En réponse à : Menu animé déroulant

      :D ok, à peine 10 minutes après avoir posté, j’ai trouvé la réponse, simplissime, et qui servira peut-être à d’autres… je n’avais pas englobé mon appel dans un div de la classe menu-conteneur, ce qui donne :

      1. <div class="menu-conteneur"><INCLURE{fond=inclure/menu, env, identifiant=barrenav} /></div>

      À présent ça fonctionne parfaitement !
      Merci pour ce beau plugin que je suis impatiente de personnaliser :-)
      Bonne journée

    Répondre à ce message

  • Le 29 août 2016 à 10:15, par Polémil En réponse à : Menu animé déroulant

    Bonjour,
    Merci pour ce plugin.
    Mon site est en Spip 3.1 et utilise les plugins Bootstrap, Sarka-Spip v4, Z-core, Zen-Garden avec le thème Cerulean, et évidemment Menus.
    Or une fois installé le menu déroulant apparaît bien, mais n’affiche que les sous-rubriques de 1er niveau.
    Y a-t-il une incompatibilité avec les plugins listés ci-dessus ?
    Merci pour l’aide que vous pourrez m’apporter.
    Cordialement,
    Polémil

    Répondre à ce message

  • Le 28 août 2016 à 16:35, par polemil En réponse à : Menu animé déroulant

    Bonjour,
    Merci pour ce plugin.
    Mon site est en spip 3.1, j’utilise les plugins Bootstrap, Z-core, Zen garden avec le thème Cerulean, Sarka-Spip v4 et Menus. Or le menu animé n’affiche que les rubriques de 1er niveau déclarés dans Menus. Les sous-rubriques quant à elles n’apparaissent pas.
    Y a-t-il une incompatibilité avec les plugins énoncés plus haut ?
    Merci pour l’aide que vous pourrez m’apporter.
    Cordialement,
    Polemil

    Répondre à ce message

  • Le 11 juillet 2016 à 12:52, par web/ccc En réponse à : Menu animé déroulant

    Bonjour,
    Super la simplicité d’usage du fichier .less
    Par contre je cherche à supprimer l’aspect arrondi... si vous pouviez me dire où trouver ce réglage.
    Cordialement ;)

    • Le 11 juillet 2016 à 16:10, par Louis Possoz En réponse à : Menu animé déroulant

      Ça devrait être assez simple.

      Editer le fichier menu_anime.less et y reprérer tout ce qui commence par .border-radius.

      On a alors le choix le plus simple de mettre tous les rayons à 0px (i.e. .border-radius(0px); sans oublier les .border-radius-left(0px); etc.

      Le plus propre consiste à supprimer toutes les définitions de sélecteurs de type .border-radius { ... } et tous les appels à ces sélecteurs (i.e. .border-radius-left(3px); par exemple).

      Dans les deux cas, c’est juste une question de ne rien oublier.

      Ensuite, on compile le fichier modifié comme d’habitude.
      Bon courage...

    • Le 12 juillet 2016 à 11:21, par web/ccc En réponse à : Menu animé déroulant

      Merci pour les infos.
      Par contre je n’ai pas trouvé le moyen d’avoir une taille de caractères plus petite dans le menu déroulant par rapport au menu principal....cdt

    • Le 14 juillet 2016 à 06:58, par Louis Possoz En réponse à : Menu animé déroulant

      C’est typiquement le genre de petit réglage particulier que l’on met dans sa feuille de style perso.css.
      Par exemple en y ajoutant la ligne :

      1. .menu_anime ul a { font-size: 80%; }

      C’est bien pour ça que les géniaux concepteurs de spip ont créé cette feuille personnelle. :-)

    Répondre à ce message

  • Le 29 avril 2016 à 19:10, par AlainF En réponse à : Menu animé déroulant

    Bonjour et bravo pour ce plugin,

    je recherche d’où peut venir mon problème :
    Spip 3.1
    Zoundation 1.0.10
    Pas de plugins Menus, j’ai juste modifié le inclure/nav déjà présent

    Et lorsque je suis en version smartphone :
    =>le menu s’affiche sur une largeur supérieure à l’écran !

    J’ai bien indiqué dans le div parent :

     <div class="top-bar-left menu-conteneur">

    et dans l’inclure :

    <ul class="dropdown menu[ (#ENV{class})] menu_anime" data-dropdown-menu>

    Si quelqu’un voit une direction, j’ai changé pas mal de chose dans le menu_anim.css copié collé et modifié dans /squelettes/css/

    Voir le site en ligne

    Je sèche, par avance, merci

    J’ai déjà essayé Responsive nav, mais incompatible avec Zoundation, dommage aussi

    • Le 30 avril 2016 à 10:09, par Louis Possoz En réponse à : Menu animé déroulant

      Bonjour Alain,

      Ici encore, On a deux chiens sur le même os, qui se battent pour l’affichage du menu. :-)

      La feuille de style ’foundation.css’, que vous chargez après celle ’menu_anime.css’, surcharge (2 fois !) le sélecteur ’.menu > li’. La valeur de sa propriété ’display:’ passe ainsi de ’block’ à ’table-cell’ ce qui, par un habile jeu de poulies et de miroirs :-), explique votre problème.

      Bon courage.

    • Le 9 mai 2016 à 10:35, par AlainF En réponse à : Menu animé déroulant

      Bonjour Louis,
      merci pour la direction, j’ai surchargé mon menu_perso.css par

      @media screen and (max-width: 600px) {
      .menu > li  {
        clear: left;
        float: left;
              }

      ce n’est certainement pas très propre, mais ça a le mérite de donner l’affichage souhaité, voir ici en version écran < 600px.
      Cordialement, Alain

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Plugin Modèles media

    25 avril 2011 – 180 commentaires

    Les modèles , et produisent chacun un résultat différent et ce résultat, pour les images, dépend du fait qu’elle soit dans le portfolio ou non. Ce plugin propose une nouvelle série de modèles ayant un comportement unifié et indépendant du mode des (...)

  • Qrcode

    3 novembre 2010 – 45 commentaires

    Les QrCodes sont des codes barres lisibles essentiellement par les téléphones portables et permettent d’échanger avec ceux-ci diverses informations, et en particulier des liens. Ce plugin à pour objet de permettre à spip d’utiliser des QrCodes pour (...)

  • Speedsyndic pour SPIP 2 et SPIP 3

    11 octobre 2010 – 27 commentaires

    Ce plugin est une version compatible spip 2.0.x / 2.1 / 3.1 du plugin Speedsyndic Note : Une bonne partie du texte ci-dessous a été pompé de cet article, expliquant la version précédente du plugin. je n’ai fait qu’adapter le code pour spip 2, (...)

  • LIM : alléger l’espace privé

    20 avril 2015 – 41 commentaires

    Ce plugin permet de désactiver l’affichage de blocs ou de boutons, présents par défaut dans SPIP mais qui peuvent devenir inutiles dans le cadre de votre projet. Il allège du coup l’interface d’édition et supprime d’éventuels risques de confusion (...)

  • HTML Purifier

    5 janvier 2011 – commentaires

    Pour sécuriser l’affichage de certains textes (ceux qui proviennent potentiellement non pas des rédacteurs, mais de visiteurs non enregistrés ou de contributeurs externes, comme les forums ou les contenus des sites syndiqués), SPIP utilise en interne (...)

Ça spipe par là