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 :

Finition sur un menu


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2007
    Messages : 282
    Par défaut Finition sur un menu
    Bonjour à tous

    Depuis environ 2 semaines, j'essai de corriger un petit bug de mon menu déroulant, je n'arrive pas à repérer mon erreur. Regardez mon menu:
    http://ecole.leknoppix.fr/ (page testé que sous firefox et chrome)
    J'ai un décalage dans mon sous menu et de plus, j'ai un contour arrondi autour de mes liens, que je n'arrive pas à supprimer.
    Un peu d'aide serait la bienvenu.
    Voici mon 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
    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    #menulist .sousmenu
    {
    	display: none;
    	position: absolute;
    }
    ul#menulist
    {
        position:absolute;
        left: 236px;
        float:left;
    }
    #menu ul#menulist li
    {
        -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
        -moz-box-sizing: border-box;    /* Firefox, other Gecko */
        box-sizing: border-box;         /* Opera/IE 8+ */;
        list-style: none;
        display: inline-block;
        margin-left:15px;
        margin-right:15px;
    }
    #menu ul#menulist li a{
        color:white;
        font-family: 'Niconne', cursive;
        font-size:20px;
        font-weight:normal;
        text-decoration: none;
        padding-left:5px;
        padding-right:5px;
    }
    #menu ul#menulist li a.current, #menu ul#menulist li:hover a
    {
        -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
        -moz-box-sizing: border-box;    /* Firefox, other Gecko */
        box-sizing: border-box;         /* Opera/IE 8+ */;
        color:#ffce00;
        height: 25px;
        -webkit-border-radius: 8px/8px;
        -moz-border-radius: 8px/8px;
        border-radius: 8px/8px;
        background-color: #5f5723;
        -webkit-box-shadow: 0 0 2px rgba(0,130,200,.75), inset 0 2px 2px rgba(0,0,0,.5);
        -moz-box-shadow: 0 0 2px rgba(0,130,200,.75), inset 0 2px 2px rgba(0,0,0,.5);
        box-shadow: 0 0 2px rgba(0,130,200,.75), inset 0 2px 2px rgba(0,0,0,.5);
        background-image: -webkit-linear-gradient(bottom, #075f9f, #004695);
        background-image: -moz-linear-gradient(bottom, #075f9f, #004695);
        background-image: -o-linear-gradient(bottom, #075f9f, #004695);
        background-image: -ms-linear-gradient(bottom, #075f9f, #004695);
        background-image: linear-gradient(to top, #075f9f, #004695);
    }
    #menu ul#menulist ul.sousmenu li, #menu ul#menulist ul.sousmenu li a
    {
    	background: url('../img/fond_menu.png');
    	width:149px;
    	font-family: Arial, Helvetica, sans-serif;
    	font-size: small;
    	height: 26px;
    	line-height:26px;
    }
    #menu ul#menulist ul.sousmenu li:hover
    {
    	width:149px;
    	background: url('../img/fond_menu_hover.png');
    	height: 26px;
    	line-height:26px;
    	color:white;
    }
    #menu ul#menulist li:hover > .sousmenu
    {
    	display: block;
    }
    #menu ul#menulist .sousmenu li
    {
    	display: block;
    	top:15px;
    	position: relative;
    }
    Merci d'avance.
    lemirandais

  2. #2
    Membre Expert
    Avatar de rodolphebrd
    Homme Profil pro
    Indépendant
    Inscrit en
    Novembre 2012
    Messages
    2 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Indépendant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 336
    Par défaut
    Bonjour,

    vous pourriez rajouter un left:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #menu ul#menulist .sousmenu li {
      display: block;
      top: 15px;
      position: relative;
      left: -60px;
    }
    Les coins arrondis proviennent d'ici :
    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
    #menu ul#menulist li a.current, #menu ul#menulist li:hover a
    {
        -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
        -moz-box-sizing: border-box;    /* Firefox, other Gecko */
        box-sizing: border-box;         /* Opera/IE 8+ */;
        color:#ffce00;
        height: 25px;
        -webkit-border-radius: 8px/8px;
        -moz-border-radius: 8px/8px;
        border-radius: 8px/8px;
        background-color: #5f5723;
        -webkit-box-shadow: 0 0 2px rgba(0,130,200,.75), inset 0 2px 2px rgba(0,0,0,.5);
        -moz-box-shadow: 0 0 2px rgba(0,130,200,.75), inset 0 2px 2px rgba(0,0,0,.5);
        box-shadow: 0 0 2px rgba(0,130,200,.75), inset 0 2px 2px rgba(0,0,0,.5);
        background-image: -webkit-linear-gradient(bottom, #075f9f, #004695);
        background-image: -moz-linear-gradient(bottom, #075f9f, #004695);
        background-image: -o-linear-gradient(bottom, #075f9f, #004695);
        background-image: -ms-linear-gradient(bottom, #075f9f, #004695);
        background-image: linear-gradient(to top, #075f9f, #004695);
    }
    Note : le background image ne sert à rien ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #menu ul#menulist ul.sousmenu li, #menu ul#menulist ul.sousmenu li a
    {
    	background: url('../img/fond_menu.png');
    	width:149px;
    	font-family: Arial, Helvetica, sans-serif;
    	font-size: small;
    	height: 26px;
    	line-height:26px;
    }

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2007
    Messages : 282
    Par défaut
    Merci pour cette réponse.
    Concernant les bords arrondis, je viens de trouver mais je vois pas comment les désactivés pour l'élément fils (.sousmenu).

    De plus, le background-image du sous menu est "obligatoire" puisque sinon, je n'aurais pas le rendu attendu.
    Voici le menu que je devrais avoir au final:

    lemirandais

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    pour n'appliquer un style qu'aux enfants directs :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    /* menu */
    #menu ul#menulist > li {...}
    #menu ul#menulist > li > a {...}
    /* sous-menu */
    #menu ul#menulist > li > ul > li {...}
    #menu ul#menulist > li > ul > li > a {...}

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Octobre 2007
    Messages : 282
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,
    pour n'appliquer un style qu'aux enfants directs :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    /* menu */
    #menu ul#menulist > li {...}
    #menu ul#menulist > li > a {...}
    /* sous-menu */
    #menu ul#menulist > li > ul > li {...}
    #menu ul#menulist > li > ul > li > a {...}
    Merci cela marche très bien.

    Pour rodolphebrd, sur la photo cela ne se voit pas, mais tu as une petite ombre portée.

    Merci beaucoup

    lemirandais

  6. #6
    Invité
    Invité(e)
    Par défaut
    L'ombre portée peut AUSSI se faire en CSS !
    => box-shadow (ou text-shadow sur un texte)

    Concernant les sous-menus décalés :
    PAR DEFAUT, les <ul> ont un padding-left.

    POUR EVITER d'être gêné par ces valeurs par défaut, on peut mettre en tout début de fichier CSS :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    * { margin:0; padding:0; border:0; }

  7. #7
    Membre Expert
    Avatar de rodolphebrd
    Homme Profil pro
    Indépendant
    Inscrit en
    Novembre 2012
    Messages
    2 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Indépendant
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 336
    Par défaut
    Désactiver le border-radius initial et créer la règle suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #menulist>li>a {
       border-radius: 8px;
    }
    Citation Envoyé par lemirandais
    De plus, le background-image du sous menu est "obligatoire" puisque sinon, je n'aurais pas le rendu attendu.
    Placer une image en background qui est une couleur n'est pas judicieux.
    Autant utiliser la couleur directement dans le background (background:bleu;)

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

Discussions similaires

  1. rajouter une item sur le menu contextuel click droit
    Par sony351 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 23/02/2006, 14h19
  2. Probleme sur creation menu popup
    Par biloute2121 dans le forum MFC
    Réponses: 1
    Dernier message: 11/01/2006, 08h41
  3. nombreux problèmes sur mon menu de gauche
    Par pp51 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 12/12/2005, 21h00
  4. boutons avec images sur un menu
    Par ENDAMA NDONG dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/11/2005, 11h30
  5. cocher un element sur un menu
    Par Invité dans le forum MFC
    Réponses: 4
    Dernier message: 24/08/2005, 14h16

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