Centrer un sous-menu horizontal en CSS, par rapport au menu appellant ?

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Centrer un sous-menu horizontal en CSS, par rapport au menu appellant ?

    Bonjour à tous(tes),

    Ma config : Joomla 1.5.14, Template pj_enchanted_15, Navigateur : IE, FF.

    Sur mon site en cours de Dev, j'ai un menu horizontal (en position TopMenu) dans le lequel il y a des sous menus qui s'affiche juste en dessous aussi à l'horizontal.
    Le soucis, c'est que les sous menus sont calés à gauche, et que si l'appel de menu est lui à droite de mon menu principal, c'est vraiment pas top en terme d'ergonomie.

    Donc le but serai que le sous menu s'affiche, centrer par rapport au menu appelant et non pas caler à gauche ou a droite.

    Le plus simple pour comprendre : URL dans le TopMenu en vert Forum ou Test, dans ce cas le sous menu s'affiche juste en dessous en rouge, mais calé à gauche, donc pour Forum c'est acceptable, mais pour Test, c'est pas trop top.

    J'ai bien trouvé comment le décaler de n px de la gauche, mais ce n'est pas satisfaisant.

    Merci d'avance.
    Dernière édition par Dudule à 18/01/2011, 18h53

  • #2
    salut, tu peux décaler chaque sous-élément indépendemment pour régler finement. Par exemple :
    pour forum, l'item est 34, pour test c'est 41. Tu aurais un truc du genre :
    Code:
    li.item34 ul { margin-left : 30px; }
    li.item41 ul {margin-left : 60px; }
    à toi d'adapter en fonction de tes besoins
    Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
    http://www.template-creator.com Outil de création de templates
    Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

    Commentaire


    • #3
      Salut et merci pour ta réponse ced1870,
      Je comprends le truc dans le principe, MAIS j'suis quasi null en CSS,

      j'ai essayé d'ajouter la ligne : #ss li.item34 ul {margin-left:199px;} pour test dans mon fichier ss_menu.css de mon template, et le résultat n'est pas là !
      Je vois bien cette ligne sous FF avec FireBug, mais elle est barrée et a priori pas prise en compte.

      J'imagine qu'il faut faire autre chose, une déclaration qqu part ? ou alors je ne l'ai pas mise au bon endroit ? Faut t'il le #ss devant ? Pas dans le bon fichier ?

      Merci d'avance pour ton aide.

      Commentaire


      • #4
        et si tu essaies de le mettre dans le fichier template_css.css tout à la fin ?
        Ca devrait marcher
        Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
        http://www.template-creator.com Outil de création de templates
        Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

        Commentaire


        • #5
          OK,
          en effet ça marche en mettant dans le template_css.css, mais le pb qui se pose avec margin-left, c'est que si il y a une sous menu d'affiché et que je survole un autre menu avec sous menu et qu'il est plus court, le premier sous menu n'est pas effacé ... (j'espère que je suis clair)

          J'ai essayé de mettre un padding-left à la place, et ça résoud le pb, car du coup on efface du bord gauche jusqu'au début de premier item du nouveau sous-menu.
          Est ce que d'après toi c'est correct de mettre un padding-left ? ça marche sous FF et IE en tout cas (je testerai sur Chrome qd même prochainement)

          Sinon, la méthode résoud mon pb, c'est parfait et merci pour ton aide, mais c'est une méthode un peu hard, et non générique, car si j'ajoute un nouveau menu avec sous menu il faut rajouter du code, rien de grave, mais c'est pas super clean ....
          Idéalement, j'aurai aimer rajouter du code qui permette de solutionner le truc pour tjrs, mais en CSS c'est peut être pas possible, il faudrai peut être faire du JS pour avoir un vrai calcul de positionnement, et c'est pas sûr que ça soit possible d'ailleurs (j'y connais pas assez pour savoir), ton avis m'intéresse sur la faisabilité d'un truc générique en JS ou autre (juste sur la faisabilité)

          Merci encore pour ton aide !

          Commentaire


          • #6
            tout est possible, mais ça dépend de l'investissement (temps si tu le fais toi meme ou argent si tu le fais faire) et par rapport à cette solution (le padding-left peut très bien convenir) qui est simple et fonctionnelle.

            Il existe surement une solution plus adaptée, en CSS ou JS mais là tout de suite j'en vois pas.
            Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
            http://www.template-creator.com Outil de création de templates
            Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

            Commentaire


            • #7
              Bonjour Dudule

              Je viens de naviguer sur ton site, et ton sous menu correspond exactement à ce que je recherche.
              Pourrais tu me dire comment tu as configurer ton sous menu ?
              Voici mon site en plein dev :
              http://s279765722.onlinehome.fr/gp/
              Hors quand je clique sur Oeuvre, je vois bien mon sous menu à gauche, mais ce dernier disparait une fois que l'on clique dessus !!!!
              Qu'il soit sur la gauche, ou sous le menu importe peu...du moment qu'il reste comme toi

              Merci d'avance si tu peux !!!
              Tu me sauverai la mise !!!
              MJ
              BUGZERO.FR ==> Assistance informatique à distance PC, Mac, Linux, du Lundi au Samedi, 9h - 19h;
              Nouveau, prestations de référencement naturel: seo-systeme.fr sur Nice et le 06

              Commentaire


              • #8
                Pour info :
                Voici ma config :
                Dans Gestion des modules, j'ai cré un menu "Oeuvre menu" avec les paramétres suivants :
                Montrer le titre : non
                Activé : oui
                Position: right
                Affectation de menu: seulement "Top Menu" avec l'élément "oeuvre"
                Nom du menu : "oeuvremenu"
                Affichage des sous menus vertical
                Toujours afficher les sous menu : OUI
                BUGZERO.FR ==> Assistance informatique à distance PC, Mac, Linux, du Lundi au Samedi, 9h - 19h;
                Nouveau, prestations de référencement naturel: seo-systeme.fr sur Nice et le 06

                Commentaire


                • #9
                  Bonjour,
                  Je suis allé sur ton site, mais je ne vois pas de sous-menu apparaitre ? pas au survol, ni qd je clique dessus.
                  Je t'aiderai bien mais je ne suis pas expert du tout en CSS, c'est pourquoi j'ai posté dans ce forum ....

                  Ceci étant, pour ton info, mon Topmenu (Menu + Sous-menu) ne forme qu'un seul module et la config est la suivante :
                  Titre = non - Activé = oui - Style de Menu = liste - Toujours affiché les sous menu = oui - Suffixe de classe de module = -nav - Position = TopMenu (lié à mon template)

                  Si j'ai bien compris, toi tu tente le truc avec 2 modules pour réaliser ton TopMenu ? je ne suis pas sur que ça soit la bonne soluce ?

                  Pour moi, ce TopMenu (avec ses sous menu) sont natifs à mon Template, donc je n'est pas moi qui ai codé quoique ce soit. Je configure un menu (dans la gestion des menu sous Joomla) avec ces sous menu et je paramètre le module associé , et le tour est joué ....

                  Voilà, en espérant t'aider .... et je suis à l'écoute.

                  Commentaire


                  • #10
                    Bonjour
                    et merci pour ces infos.

                    Je viens de mettre à jour mon site, selon tes recommendations.
                    Regarde l'onglet "expos".
                    J'ai 2 dates (j'en aurais 12 au total).
                    A chaque fois, cela rajoute de l'espace jusqu'à l'onglet suivant (catalogues).

                    Ce que je cherche, c'est exactement ce que tu as fait ... as tu une idée ??

                    Merci d'avance

                    MJ
                    BUGZERO.FR ==> Assistance informatique à distance PC, Mac, Linux, du Lundi au Samedi, 9h - 19h;
                    Nouveau, prestations de référencement naturel: seo-systeme.fr sur Nice et le 06

                    Commentaire


                    • #11
                      tu peux peut etre trouver les explication ici
                      http://www.joomlack.fr.nf/tutos-desi...orizontal.html
                      Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
                      http://www.template-creator.com Outil de création de templates
                      Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

                      Commentaire


                      • #12
                        Envoyé par marveljojo Voir le message
                        Bonjour
                        et merci pour ces infos.

                        Je viens de mettre à jour mon site, selon tes recommendations.
                        Regarde l'onglet "expos".
                        J'ai 2 dates (j'en aurais 12 au total).
                        A chaque fois, cela rajoute de l'espace jusqu'à l'onglet suivant (catalogues).

                        Ce que je cherche, c'est exactement ce que tu as fait ... as tu une idée ??

                        Merci d'avance

                        MJ
                        En effet, si tu rajoute 10 items dans ton sous menu, il va y avoir un pb ....
                        Je ne pourrait pas t'aider plus que ça, pas compétent en CSS, je bricole qqu ligne en testant avec FireBug, mais aucune maitrise de l'affaire.
                        Je n'ai pas fait grand chose, j'utilise juste les CSS de mon template, et je tente d'apporter qqu modifs, rien de plus .... donc je ne pourrai pas te détailler plus que ça, désolé !

                        Le lien de ced1870 me semble pas mal du tout, ça à l'air clair, mais tout dépend de ton niveau et capacité à modifier les CSS.
                        Bon courage !

                        Commentaire

                        Annonce

                        Réduire
                        1 sur 2 < >

                        C'est [Réglé] et on n'en parle plus ?

                        A quoi ça sert ?
                        La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                        Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                        Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                        Comment ajouter la mention [Réglé] à votre discussion ?
                        1 - Aller sur votre discussion et éditer votre premier message :


                        2 - Cliquer sur la liste déroulante Préfixe.

                        3 - Choisir le préfixe [Réglé].


                        4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                        2 sur 2 < >

                        Assistance au forum - Outil de publication d'infos de votre site

                        Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                        Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                        Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                        UTILISER À VOS PROPRES RISQUES :
                        L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                        Problèmes connus :
                        FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                        Installation :

                        1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                        Archive zip : https://github.com/AFUJ/FPA/zipball/master

                        2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                        3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                        4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                        5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                        6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                        et remplacer www. votresite .com par votre nom de domaine


                        Exemples:
                        Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                        Télécharger le script fpa-fr.php dans: /public_html/
                        Pour executer le script: http://www..com/fpa-fr.php

                        Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                        Télécharger le script fpa-fr.php dans: /public_html/cms/
                        Pour executer le script: http://www..com/cms/fpa-fr.php

                        En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                        Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                        Voir plus
                        Voir moins
                        Travaille ...
                        X