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 :

[CSS] Menu


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Par défaut [CSS] Menu
    Bonjour,
    J'ai le CSS suivant qui me permet de faire un menu :
    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
    66
    67
    68
    69
    dl, dt, dd, ul, li {
    margin: 0;
    padding: 0;
    list-style-type: none;
    }
    #menu {
    position: relative;
    top: 0;
    left: 0;
    z-index:100;
    width: 80%;
    }
    #menu dl {
    float: left;
    /*width: 8em;*/
    margin: 0px;
    }
    #menu dt {
    cursor: pointer;
    text-align: center;
    font-weight: bold;
    /*background: #ccc;*/
    /*border: 1px solid #FFFC00;*/
    }
    #menu dd {
    border: 1px solid #FFFC00;
    font-weight: lighter;
    font-size: x-small;
    font-family: "Times New Roman";
    width: 90px;
     
    }
    #menu li {
    text-align: center;
    /*background: #fff;*/
    background: #B90105;
    width: 90px;
    }
    /*#menu li a,*/ #menu dt a {
    color: #000;
    text-decoration: none;
    display: block;
    height: 80%;
    border: 0 none;
    }
    #menu li a:hover, #menu dt a:hover {
    /*background: #eee;*/
    background: #FFFC00;
    }
     
    #site {
    position: absolute;
    z-index: 1;
    top : 70px;
    left : 10px;
    color: #000;
    background-color: #ddd;
    padding: 5px;
    border: 1px solid gray; 
    }
     
    a {text-decoration: none;
    color: black;
    color: #222;
    }
     
    a:hover {
    text-decoration:underline;
    }

    Et voici le menu :

    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
     
     
    <div id="menu">
    	<dl>			
    		<dt onmouseover="javascript:montre('smenu1');"><img src='images/Menu/accueil1.gif' border='0' name='menu1'></dt>
    			<dd id="smenu1">
    				<ul>
    					<li><a href="#">Sous-Menu 1.1</a></li>
    					<li><a href="#">Sous-Menu 1.2</a></li>
    					<li><a href="#">Sous-Menu 1.3</a></li>
     
    				</ul>
     
    			</dd>
    	</dl>
     
     
    	<dl>	
    		<dt onmouseover="javascript:montre('smenu2');"><img src='images/Menu/club1.gif' border='0' name='menu2'></dt>
    ...

    Malheureusement comme vous pouvez le constater ca ne fonctionne pas beaucoup ...
    Tout ne s'affiche pas sur une ligne alors que ca devrait ... Les sous menu sont ouverts alors que la souris ne passe pas dessus ....
    Des idées ?
    jb

    ps : même pb sous FF et IE ...

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Je viens de tester ton code et ca marche pour moi

    Tu peux envoyer le lien de ta page, que je puisse tester en réel...
    Ca vient peut être de la mise en page générale.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Par défaut
    j'ai résolu mon pb de menu sur deux lignes. en fait l'attribut width: était à 80% au lieu de 100%. Deux autres pb toutefois ...

    ¤ Quand on passe sur les menus, le sous menu s'affiche, tres bien, mais fait descendre l'ensemble de la page... Je ne sais pas si je suis tres clair . En gros le sousmenu, à son ouverture décale tout vers le bas.
    Je précise que mon sousmenu est dans une case d'un tableau.
    ¤ Quand la souris n'est plus sur un menu, le sousmenu du dernier menu reste affiché.... Comment faire en sorte que lorsque la souris n'est plus sur aucune fenetre, aucun sous menu ne soit visible ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Par défaut
    Bon je me fais les questions réponse !
    Pour ne pas voir le menu des que la souris est en dehors j'ai utilisé : onmouseout=""


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <dt onmouseover="javascript:montre('smenu3');"onmouseout="javascript:montre();"><img src='images/Menu/Parcours1.gif' border='0' name='menu3'></dt>
    			<dd id="smenu3"onmouseover="javascript:montre('smenu3');" onmouseout="javascript:montre();">
    Par contre j'ai toujours mes sousmenus qui décalent tout vers le bas. J'aimerai qu'ils soient au dessus ... Mais je crains que c'est du en pb du tableau ... J'ai un peu peur ...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Par défaut
    Zou je continue tout seul !!
    Pour le pb du décalage vers le bas je l'ai enlevé du tableau et mis en position absolute. Voila c mieux !
    Sinon j'ai un autre pb. Quand le texte est plus grand que 80px (la taille du bloc de la liste du sousmenu) tout est décalé vers la droite ... Comment faire pour qu'il n'y est pas ce décalage (qui engendre ici un retour à la ligne) ? Que tout reste bien à sa place ?

    Merci.

  6. #6
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Fixe ta largeur.
    Enfin je pense ca semble si simple...

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Par défaut
    Si je fixe la largeur du sousmenu à 80px par exemple alors "Situation Géographique" se trouve sur deux lignes ...
    Non moi ce qu'il me faudrait c'est qq chose comme ca :

    Je n'arrive pas à trouver la propriété CSS qui me résoudra ce pb ...

  8. #8
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Et en le mettant en absolute ? Il sort du flux et devrait chevaucher...

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Par défaut
    Merci pour l'attribut position: absolute;
    Alors la ca commence à devenir subtile ....
    Ca marche bien lorsque la souris est sur le menu :

    Mais lorsque la souris vient sur le sousmenu, la taille du bloc redevient la taille du menu !

    Conclusion c moche !

    EDIT
    Je viens de me rendre compte que sous FF cela fonctionne tres bien. Je pense que c'est l'attribut width: auto; de li{} qui n'est pas compris par IE. Je ne vois pas comment faire.

  10. #10
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Redonne ton code css et ton code html.
    Je sais plus ou tu en es...

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Par défaut
    Moi non plus !

    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
    dl, dt, dd, ul, li {
    margin: 0;
    padding: 0;
    list-style-type: none;
    }
    #menu {
    position: absolute;
    z-index:2;
    width: 100%;
    top: 14em;
    left: 11em;
    }
    #menu dl {
    float: left;
    margin: 0px;
    }
    #menu dt {
    cursor: pointer;
    }
    #menu dd {
    border: 2px solid #FFFC00;
    width: auto;
    display: none;
    z-index:1;
    position: absolute;
    }
    #menu li {
    text-align: left;
    background: #B90105;
    width: auto;
    z-index:1;
     
    }
    #menu dt a {
    display: block;
    height: 100%;
    border: 0 none;
    position: absolute;
     
    }
    #menu li a:hover, #menu dt a:hover {
    }
     
    a {
    font-weight: bold;
    font-size: 12px;
    font-family: "Arial";
    text-decoration: none;
    color: white;
    }
     
    a:hover {
    text-decoration: none;
    color: #FFFC00;
    }

    et le code Html n'a pas changé je pense.

    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
    <div id="menu">
    	<dl>			
    		<dt onmouseover="javascript:montre('smenu1');" onmouseout="javascript:montre();"><img src='images/Menu/accueil1.gif' border='0' name='menu1'></dt>
     
    	</dl>
     
     
    	<dl>	
    		<dt onmouseover="javascript:montre('smenu2');"onmouseout="javascript:montre();"><img src='images/Menu/club1.gif' border='0' name='menu2'></dt>
    			<dd id="smenu2"onmouseover="javascript:montre('smenu2');" onmouseout="javascript:montre();">
    				<ul>
    					<li><a href="#">> Situation Géographique</a></li>
    					<li><a href="#">> Les Membres</a></li>
    					<li><a href="#">> Nous contacter</a></li>
    				</ul>
    			</dd>
    	</dl>
    	.........................

  12. #12
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Rajoute un position absolute dans le "li" ou "ul" pour voir.

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 290
    Par défaut
    Citation Envoyé par blueice
    Rajoute un position absolute dans le "li" ou "ul" pour voir.
    J'avais tenté .. Affreux et illisible !

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

Discussions similaires

  1. [CSS] Menu qui disparait derriere un champ
    Par Pepito dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 06/09/2005, 10h03
  2. [CSS] Menu devenant gras
    Par Mitaka dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 18/05/2005, 13h58

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