IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

Faire un menu déroulant


Sujet :

CSS

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 21
    Points : 12
    Points
    12
    Par défaut Faire un menu déroulant
    Bonjour à tous,

    Je voudrais intégrer un menu déroulant en css, mais même en cherchant sur le web, tout ceux que je trouve, pas moyen de les intégrer à ma feuille de style (ce n'est pas moi qui les réalisé cette feuille)

    Voilà ma feuille de style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    /* Valeurs par default Applicables sur toute la page
    --------------------------------------------------------------------------------------------------------*/
    *{margin:0; padding:0; list-style:none;}
    body{font:64% Arial, Helvetica, sans-serif; background:#DADADA; padding:45px 0 20px;}
    a{text-decoration:none;color:#444;}
    a:hover{color:#00a0fc;}
    a img {border:0px none; }
     
    h2{background:url('img/h2.jpg');height:34px;font-size:1.1em;text-align:right;position:relative;text-transform:uppercase;line-height:20px;font-family:Verdana;color:#2c5ab0; padding-left:0; padding-right:20px; padding-top:0; padding-bottom:0}
    .tl{position:absolute;top:0;left:0;font-size:0}
    .tr{position:absolute;top:0;right:0;font-size:0}
    .clear{visibility:hidden;clear:both; min-height:1px}
     
     
     
     
     
     
    /* Layout, Structure des Blocks
    --------------------------------------------------------------------------------------------------------*/
    #wrapper{width:1000px; margin: 0 auto}
     
    #header{background:url('img/header.jpg');height:204px;margin-bottom:20px; position:relative}
     
    #content{width:761px;float:right; padding:0 1px 20px 0;}
     
    #sidebar{width:203px; padding-bottom:20px;}
     
    #footer{background:url('img/footer.jpg') no-repeat;height:57px; clear:both; margin-top:20px}
     
     
     
     
     
     
    /*  Contenu
    --------------------------------------------------------------------------------------------------------*/
    /**** Header ****/
    #header h1{position:absolute;width:420px;height:50px;left:250px;top:60px; font-size:0}
    #header h1 a{display:block;width:100%;height:100%;text-indent:-5000px;}
     
    #header ul#toolbar{position:absolute;top:176px;left:202px;}
    #header ul#toolbar li{float:left;}
    #header ul#toolbar li a{display:block;width:116px;line-height:23px;margin-right:2px; text-transform:uppercase; text-align:center;color:#e5edf4;font-weight:bold;font-family:Tahoma;font-size:1.1em; letter-spacing:1px;}
    #header ul#toolbar li a:hover{color:#c1c1f4;}
    #header ul#toolbar li form#searchengine input{border:0px none;background:none}
    #header ul#toolbar li form#searchengine input#q{width:93px; font-size:1.1em;margin:6px 0 0 7px;}
    #header ul#toolbar li form#searchengine input#sub1{width:12px;height:14px; font-size:0;margin:-4px 0 0; vertical-align: middle; cursor:pointer;}
    Ensuite, je fais un include du menu du header que voici

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <li><a href="http://www.maxif1.com" title="Retour à l'accueil">accueil</a></li>
    <li>
    	<a href="#" title="Prochainement sur Maxif1.com">billetterie</a>
    </li>
     
    <li><a href="http://www.maxif1.com/Forum" title="Communauté MaxiF1, discutez de la F1, et de tous les sports mécaniques">forum</a></li>
    <li><a href="http://www.maxif1.com/Forum/annuaire.php" title="Annuaire des sports mécaniques">annuaire</a></li>
    <li><a href="aff_contact.php" title="Contactez le Webmaster">contact</a></li>

    Je souhaite avoir le menu déroulant sur Billetterie avec comme différent menu Formule 1, Moto Gp, A1 GP

    Mais voilà je ne sais pas comment faire, quelqu'un peut il m'aider ou au moins m'eclairer sur la démarche à suivre

    Merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 137
    Points : 87
    Points
    87
    Par défaut Une façon simple d'ajouter un menu déroulant
    Dans le header il faut que tu rajoute ce javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <script type="text/javascript" language="javascript">
    <!--
    var timerID;
    function showSSMenu(sMenu){
    	var timeout = 2000;
    	obj = document.getElementById(sMenu);
    	obj.style.display = "block";
    	timerID = setInterval(function(){hideSSMenu(sMenu);},timeout);
    }
    function hideSSMenu(sMenu){
    	clearInterval(timerID);
    	obj = document.getElementById(sMenu);
    	obj.style.display = "none";
    }
    -->
    </script>
    ensuite ton menu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <li><a href="http://www.maxif1.com" title="Retour à l'accueil">accueil</a></li>
            <li><a onmouseover="showSSMenu('sousMenu1');" href="#" title="Prochainement sur Maxif1.com">billetterie</a>
            	<div id="sousMenu1">
                    <ul>
                        <li><a href="#">Formule 1</a></li>
                        <li><a href="#">Moto Gp</a></li>
                        <li><a href="#">A1 GP</a></li>
                    </ul>
                </div>
            </li>        
            <li><a href="http://www.maxif1.com/Forum" title="Communauté MaxiF1, discutez de la F1, et de tous les sports mécaniques">forum</a></li>
            <li><a href="http://www.maxif1.com/Forum/annuaire.php" title="Annuaire des sports mécaniques">annuaire</a></li>
            <li><a href="aff_contact.php" title="Contactez le Webmaster">contact</a></li>
    et tu devras faire un ptit ajout à ton css
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #sousMenu1{
    	display:none;
    }
    #sousMenu1 ul, #sousMenu1 ul li{
    	text-align:center;
    	width:115px;
    	height:22px;
    	line-height:22px;
    	display:block;
    	color:#E5EDF4;
    }
    #sousMenu1 ul li{
    	background-color:#A3A3A3;
    	border-top:#FFF 1px solid;
    }

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 21
    Points : 12
    Points
    12
    Par défaut
    Bonjour, je viens de faire ce que vous me dites et cela fonctionne presque

    Vous pouvez voir le résultat sur http://www.maxif1.com/aff_trombinoscope.php

    Je vous met le code que au cas ou j'aurais fait une erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    /* Valeurs par default Applicables sur toute la page
    --------------------------------------------------------------------------------------------------------*/
    *{margin:0; padding:0; list-style:none;}
    body{font:64% Arial, Helvetica, sans-serif; background:#DADADA; padding:45px 0 20px;}
    a{text-decoration:none;color:#444;}
    a:hover{color:#00a0fc;}
    a img {border:0px none; }
     
    h2{background:url('img/h2.jpg');height:34px;font-size:1.1em;text-align:right;position:relative;text-transform:uppercase;line-height:20px;font-family:Verdana;color:#2c5ab0; padding-left:0; padding-right:20px; padding-top:0; padding-bottom:0}
    .tl{position:absolute;top:0;left:0;font-size:0}
    .tr{position:absolute;top:0;right:0;font-size:0}
    .clear{visibility:hidden;clear:both; min-height:1px}
     
    #sousMenu1{
    	display:none;
    }
    #sousMenu1 ul, #sousMenu1 ul li{
    	text-align:center;
    	width:115px;
    	height:22px;
    	line-height:22px;
    	display:block;
    	color:#E5EDF4;
    }
    #sousMenu1 ul li{
    	background-color:#A3A3A3;
    	border-top:#FFF 1px solid;
    }
     
     
     
     
    /* Layout, Structure des Blocks
    --------------------------------------------------------------------------------------------------------*/
    #wrapper{width:1000px; margin: 0 auto}
     
    #header{background:url('img/header.jpg');height:204px;margin-bottom:20px; position:relative}
     
    #content{width:761px;float:right; padding:0 1px 20px 0;}
     
    #sidebar{width:203px; padding-bottom:20px;}
     
    #footer{background:url('img/footer.jpg') no-repeat;height:57px; clear:both; margin-top:20px}
     
     
     
     
     
     
    /*  Contenu
    --------------------------------------------------------------------------------------------------------*/
    /**** Header ****/
    #header h1{position:absolute;width:420px;height:50px;left:250px;top:60px; font-size:0}
    #header h1 a{display:block;width:100%;height:100%;text-indent:-5000px;}
     
    #header ul#toolbar{position:absolute;top:176px;left:202px;}
    #header ul#toolbar li{float:left;}
    #header ul#toolbar li a{display:block;width:116px;line-height:23px;margin-right:2px; text-transform:uppercase; text-align:center;color:#e5edf4;font-weight:bold;font-family:Tahoma;font-size:1.1em; letter-spacing:1px;}
    #header ul#toolbar li a:hover{color:#c1c1f4;}
    #header ul#toolbar li form#searchengine input{border:0px none;background:none}
    #header ul#toolbar li form#searchengine input#q{width:93px; font-size:1.1em;margin:6px 0 0 7px;}
    #header ul#toolbar li form#searchengine input#sub1{width:12px;height:14px; font-size:0;margin:-4px 0 0; vertical-align: middle; cursor:pointer;}
    Et le code de ma page web

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    <title>MaxiF1 - Trombinoscope des pilotes</title>
    <style type="text/css">
    @import "style_bis.css";
    </style>
    <link rel="stylesheet" href="script/css/lightbox.css" type="text/css" media="screen" />
     
    	<script src="script/js/prototype.js" type="text/javascript"></script>
    	<script src="script/js/scriptaculous.js?load=effects,builder" type="text/javascript"></script>
    	<script src="script/js/lightbox.js" type="text/javascript"></script>
    	<script type="text/javascript" language="javascript">
    <!--
    var timerID;
    function showSSMenu(sMenu){
    	var timeout = 2000;
    	obj = document.getElementById(sMenu);
    	obj.style.display = "block";
    	timerID = setInterval(function(){hideSSMenu(sMenu);},timeout);
    }
    function hideSSMenu(sMenu){
    	clearInterval(timerID);
    	obj = document.getElementById(sMenu);
    	obj.style.display = "none";
    }
    -->
    </script>
    </head>
     
    <body>
    <?
    	include ("include/temps.php");
    		// Prise de temps au début de la page PHP
    		$mt1 = microTime();
    	include("config.php");
    	?>
     <div id="wrapper">
     
     <!--=============== Header =================--> 
      <div id="header">
       <h1><a href="http://www.maxif1.com">MaxiF1.com</a></h1>
     
       <ul id="toolbar">
       <li><a href="http://www.maxif1.com" title="Retour à l'accueil">accueil</a></li>
            <li><a onmouseover="showSSMenu('sousMenu1');" href="#" title="Prochainement sur Maxif1.com">billetterie</a>
            	<div id="sousMenu1">
                    <ul>
                        <li><a href="#">Formule 1</a></li>
                        <li><a href="#">Moto Gp</a></li>
                        <li><a href="#">A1 GP</a></li>
                    </ul>
                </div>
            </li>        
            <li><a href="http://www.maxif1.com/Forum" title="Communauté MaxiF1, discutez de la F1, et de tous les sports mécaniques">forum</a></li>
            <li><a href="http://www.maxif1.com/Forum/annuaire.php" title="Annuaire des sports mécaniques">annuaire</a></li>
            <li><a href="aff_contact.php" title="Contactez le Webmaster">contact</a></li>
         <form id="searchengine" method="get" action="http://www.google.com/search" />
          <p>
           <input type="text" name="q" id="q" value="Rechercher" onclick="this.value=''" />
           <input type="submit" id="sub1" value="" />
    	<input type="hidden" name="sitesearch" value="maxif1.com" />
          </p>
         </form>
        </li>
       </ul>
      </div><!-- end #header -->
    Ce qui se passe c'est que le menu est toujours actif et quand il est actif, il me décalle le restant du menu

    Pouvez encore m'aider, merci

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 137
    Points : 87
    Points
    87
    Par défaut
    il semblerait que mon se soit transformer entre temps de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #sousMenu1{
    	display:none;
    }
    #sousMenu1 ul, #sousMenu1 ul li{
    	text-align:center;
    	width:115px;
    	height:22px;
    	line-height:22px;
    	display:block;
    	color:#E5EDF4;
    }
    #sousMenu1 ul li{
    	background-color:#A3A3A3;
    	border-top:#FFF 1px solid;
    }
    à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    .menu span, .ssmenu span {
      display:none;
    }
     
    .menu a, .ssmenu a {
      text-decoration:none;
      color:#FFFF00;
    }
     
    .menu {
      padding:0;
    }
     
    .ssmenu {
      padding:0;
    }
    dans le css

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 21
    Points : 12
    Points
    12
    Par défaut
    Oui, je ne sais pas pourquoi, je viens de mettre votre css et cela fonctionne presque.

    J'ai toujours un décallage avec l'onglet rechercher

    Et, mon menu passe en dessus du premier block de la page, pour résoudre ça, ne serais pas possible qu'au lieu que tout descende, de les aligner en dessous du menu billetterie à l'horizontal au lieu du vertical.

    Merci de votre aide, ça faisait plus d'une semaine que je cherchais et là cela fonctionne presque

    Pouvez vous encore me donner un petit coup de main

    Par avance Merci

    PS : toujours à cette adresse http://www.maxif1.com/aff_trombinoscope.php

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 137
    Points : 87
    Points
    87
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #sousMenu1{
    	display:none;
    }
    #sousMenu1 ul, #sousMenu1 ul li{
    	text-align:center;
    	width:115px;
    	height:22px;
    	line-height:22px;
    	display:block;
    	color:#E5EDF4;
    }
    #sousMenu1 ul li{
    	background-color:#A3A3A3;
    	border-top:#FFF 1px solid;
    }

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 21
    Points : 12
    Points
    12
    Par défaut
    Le problème est toujours le même malgrés ce que vous venez de me donner, je pige rien au CSS alors s'il vous plait help me

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 137
    Points : 87
    Points
    87
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #header ul#toolbar li form#searchengine input#q{width: unNombre < 93 px; font-size:1.1em;margin:6px 0 0 7px;}
     
    #sousMenu1{
    	display:none;
    	z-index:999;
    }
    Il faut que tu remplace le css #sousMenu1 par celui ci. Et ou c'est écrit "unNombre < 93" vous devez le remplacer par un nombre plus petit que 93 et le coller au lettre "px".

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 21
    Points : 12
    Points
    12
    Par défaut
    Merci beaucoup, cela marche super, j'ai juste rajouté une position relative dans #sousMenu1

    et un z-index:1 dans la balise h2

    Encore merci va vraiment falloir que j'apprenne le CSS, auriez vous un ouvrage à me conseiller ou un bon site internet ou je pourrais apprendre

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 137
    Points : 87
    Points
    87
    Par défaut
    Les cours et les faq disponiblent sur www.developpez.com sont très bien

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2009
    Messages : 128
    Points : 46
    Points
    46
    Par défaut re
    super intéressant goldor, merci.
    je galère aussi souvent avec ces menus déroulants. dans le passé on m'avait déjà donné un lien vers un menu déroulant de ce site.
    Mais je ne me souviens pas qu'il y avait du javascript.
    Où explique-t-on ce code javascript lié aux menus déroulants ?

    merci
    marc

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 137
    Points : 87
    Points
    87
    Par défaut
    en fait c'est assez simple, j'ai vu le problème et j'ai composé ce petit code. C'est une solution custom mais facilement adaptable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <script type="text/javascript" language="javascript">
    <!--
    var timerID;  // variable qui va servir a supprimer l'interval 
    function showSSMenu(sMenu){  // function pour faire apparaitre le menu
    	var timeout = 2000;  // 2 secondes
    	obj = document.getElementById(sMenu); // va chercher l'element pour le id envoyer en paramètre
    	obj.style.display = "block";  // affiche l'element
    	timerID = setInterval(function(){hideSSMenu(sMenu);},timeout); // apres le timout tu call la fonction hideout
    }
    function hideSSMenu(sMenu){
    	clearInterval(timerID); // efface l'interval
    	obj = document.getElementById(sMenu); // get l'element passer en paramètres
    	obj.style.display = "none"; // ensuite tu le met invisible
    }
    -->
    </script>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/12/2008, 00h06
  2. Faire disparaître une liste de menu déroulant avec onmouseout
    Par Lili72430 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 10/04/2007, 19h28
  3. Faire un menu déroulant
    Par mohamed2006 dans le forum Dreamweaver
    Réponses: 4
    Dernier message: 26/02/2007, 14h05
  4. Faire un menu déroulant
    Par alleramiens dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 27/10/2006, 11h28
  5. [menu]faire un menu déroulant
    Par Nadine dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 24/03/2005, 08h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo