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 :

Décalage barre de menu avec hover


Sujet :

Survol d'un élément en CSS (:hover)

  1. #1
    Membre à l'essai
    Femme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2012
    Messages : 31
    Points : 10
    Points
    10
    Par défaut Décalage barre de menu avec hover
    Bonjour,

    J'ai un problème au niveau de ma barre de menu. Lorsque la souris passe sur un item, la couleur de fond est plus foncée mais j'ai un décalage sur la gauche (surement dû aux bordures qui séparent chaque item). Voici mon site pour mieux voir de quoi je parle : www.spexdiscount.com

    Voici mon code css :

    Code css : 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
    .main_menu a 
    {
        width: 90px;
        height: 34px;
        display: inline-block;
        padding-top: 10px;
        vertical-align: top;
        font-size: 1.1em;
        text-decoration: none;
        color: white;
        text-align: center;
        font-weight: bold;
        font-family: Cambria;
        border-right: 1px solid #D3D3D3;
        border-right-color: #666666;
    }
     
    .main_menu a:hover {
     
    	background: url(../images/menu_gradient_over.png) repeat-x;
     
    }

    Et le code aspx :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <div class="main_menu">
          <a href="http://www.spexdiscount.com" class="menu_logo" title=""><img src="http://www.spexdiscount.com/images/logo_3d.png" alt="Spexdiscount Designer Eyewear" id="logo_home" style="border:none;"/></a>
          <a href="http://www.spexdiscount.com/UK/catalogue.aspx/Glasses?Eyewear=Glasses" title="" >Glasses</a>
          <a href="http://www.spexdiscount.com/UK/catalogue.aspx/Sunglasses?Eyewear=Sunglasses" title="">Sunglasses</a>
          <a href="http://www.spexdiscount.com/UK/catalogue.aspx/Sunglasses/Prescription?Eyewear=Sunglasses&amp;Lenses=Prescription" class="menu_long" title="">Prescription Sunglasses</a>
          <a href="http://www.spexdiscount.com/UK/catalogue.aspx/Clearance?Sale=Clearance"  title="">Clearance </a>
          <a href="http://www.spexdiscount.com/UK/FAQ.aspx" title="" >FAQ</a>
          <a href="http://www.spexdiscount.com/UK/Testimonials.aspx" title="">Reviews</a>
          <a href="http://www.spexdiscount.com/UK/ContactUs.aspx" title="" >Contact Us</a>


    Merci de m'aider, je tourne en rond !

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 062
    Points : 44 621
    Points
    44 621
    Par défaut
    Bonjour,
    tu es en présence de whitespace qui sont du à tes retours à ligne liés au rendu display:inline-block.

    On peut régler ce soucis de plusieurs façons:
    1/ supprimer tous les retour lignes en mettant ton code à la queue leu leu
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="http://www.spexdiscount.com" class="menu_logo" title=""><img src="http://www.spexdiscount.com/images/logo_3d.png" alt="Spexdiscount Designer Eyewear" id="logo_home" style="border:none;"/></a><a href="http://www.spexdiscount.com/UK/catalogue.aspx/Glasses?Eyewear=Glasses" title="" >Glasses</a>
    plus très lisible mais le plus efficace.
    2/ mettre les retours ligne en commentaire
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a href="http://www.spexdiscount.com" class="menu_logo" title=""><img src="http://www.spexdiscount.com/images/logo_3d.png" alt="Spexdiscount Designer Eyewear" id="logo_home" style="border:none;"/></a><!--
      --><a href="http://www.spexdiscount.com/UK/catalogue.aspx/Glasses?Eyewear=Glasses" title="" >Glasses</a><!--
      --><a href="http://www.spexdiscount.com/UK/catalogue.aspx/Sunglasses?Eyewear=Sunglasses" title="">Sunglasses</a><!--
    c'est quand même plus lisible.
    3/ changer ton approche, mettre tesélément en rendu display:block et de les passer en float:left.

    Il en existe d'autres mais il me semble que celles ci sont les plus "propres".

    Nota: tu aurais pu utiliser une liste UL -> LI

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    pour reprendre la 3ème solution de NoSmoking (la plus "propre") :
    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
    .main_menu a 
    {
        min-width: 90px; /* Modifié : largeur MINI */
        height: 34px;
        display: block; /* Modifié ! */
    	float:left; /* Ajouté ! */
        padding: 7px 15px 0 15px; /* Modifié ! */
        font-size: 1.1em;
        text-decoration: none;
        color: white;
        text-align: center;
        font-weight: bold;
        font-family: Cambria;
        border-right: 1px solid #666666; /* Modifié ! */
    }
    Et enlève : class="menu_long" (devenu inutile)

    Ps : dans ton code, mainMenu.css est appelé 2 fois.
    A corriger, donc.

  4. #4
    Membre à l'essai
    Femme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2012
    Messages : 31
    Points : 10
    Points
    10
    Par défaut
    ça marche niquel!! merci beaucoup!

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

Discussions similaires

  1. barre de menu avec jsf
    Par Narouto dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 26/04/2011, 23h05
  2. Menu avec :hover
    Par lassoya dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 13/11/2010, 00h28
  3. Menu avec hover sous ie6 sur le premier élément de la liste
    Par fabight dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 24/05/2008, 13h37
  4. Réponses: 9
    Dernier message: 24/03/2007, 22h37
  5. Ouvrir une popup en plein écran avec une barre de menu.
    Par magic8392 dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 12/10/2005, 10h43

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