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 :

Bug menu <li> <a> que sous IE6 : taille width prend toute la page


Sujet :

CSS

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Points : 170
    Points
    170
    Par défaut Bug menu <li> <a> que sous IE6 : taille width prend toute la page
    Bonjour,

    J'ai un bug qui apparait que sous IE6, je n'arrive pas à le résoudre.

    J'ai un menu css avec des <li> et des <a>. Sous FF ou IE7 la taille " width"de chaque élément de la liste est constitué en fonction du texte à l'intérieure de la balise <a>.

    Mais sous IE6 la taille de chaque <li> est égale à toute la largeur du menu prévu, c'est à dire la taille de l'écran. Chaque menu passe un à la suite de l'autre.

    Je n'arrive pas à trouver de hack pour résoudre ce problème. Du coup j'ai du figé la taille de chaque élément <li> à 90px ce qui, est entre le vilain et le moche.

    Vous pouvez voir le menu sur le site suivant, mais la taille du menu est figé pour IE6 site

    Merci de votre aide.

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    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 487
    Points : 5 134
    Points
    5 134
    Par défaut
    mainlevel-menu_top
    n'est pas déclaré...

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Points : 170
    Points
    170
    Par défaut
    je n'ai pas réussi à ce résoudre ce problème malgré l'ajout de cette classe.

    En fait, si je ne spécifie pas de hauteur et largeur dans la classe ci-dessous, la hauteur du bord gauche n'est pas affiché à 100% et la largeur est effacé.

    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
    ul#mainlevel-menu_top li a
    {
    	display: block;
    	width: auto !important; 
     
    	background:url("../images/menu_onglet_gauche.jpg");
    	background-position: left 0px;
            background-repeat : no-repeat; 
     
    	height:29px;    /* Corrige le bug des menus sur une ligne à IE6 */
    	width:20px;		/* Corrige le bug des menus sur une ligne à IE6 */
    	padding-left:18px !important;
    	padding-right:18px !important;
    	padding-top:10px;
    	/*-----------------------------------------------*/
    }
    et voici le code pour la puce <li>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ul#mainlevel-menu_top li
    {
    	display: block;
    	float: left;
    	width: auto !important;
    /*	width: 90px;*/
    	height:40px;
     
    	background:url("../images/menu_onglet_droit.jpg");
            background-repeat : no-repeat; 
    	background-position: right 0px;	
    }
    Sur le site j'ai donc corrigé en fixant la taille :
    height:29px; /* Corrige le bug des menus sur une ligne à IE6 */
    width:20px; /* Corrige le bug des menus sur une ligne à IE6 */

    Mais ce que je ne comprends pas, c'est que certains textes sont sur 2 colonnes sur IE6 alors que sur IE7 et FF, ces textes sont entiers (cf: "nos garanties", "notre gamme").

    Merci de votre aide

  4. #4
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    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 487
    Points : 5 134
    Points
    5 134
    Par défaut
    je n'ai pas réussi à ce résoudre ce problème malgré l'ajout de cette classe.
    Tu ne sais pas ce que fait ton code ??? Je dis qu'elle manque car elle existe dans le code HTML sans être déclarée, sinon qu'elle est la classe qui gère ce menu ?

    P.S. : Plutôt que d'écrire plusieurs lignes pour un background :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    background:#FFFFFF url('image.jpg') no-repeat 0 0;

  5. #5
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Points : 170
    Points
    170
    Par défaut
    En fait, cette partie de code, je l'ai repris sur le site "aListAPart". Je l'ai adapté pour mon CMS qui génère le menus en li. La classe qui manque a été généré par le CMS, et je n'en ai pas eu besoin pour l'adapter

    Maintenant je sais ce que fais le code, je n'ai pas de problème pour IE7, FF2 et Safari. IE6 me pose des problèmes seulement à ce niveau.

    Voici les deux classes manquantes (j'en ai d'autre mais je ne crois pas qu'elles soient la cause de mon malheur)

    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
    /* On affiche les menus collé à droite. Sinon, ils sont centrés */
    #menu_top {
    	padding-left: 3px !important;
    	padding-left: 0px;
    	padding-right: 0px !important;
    	padding-right: 0px;
    	/*border-bottom: 2px solid #ccc;*/
     
    }
     
    #menu_top ul {
    	padding: 0px;
    	margin: 0 ;
    	margin-left:0px;
    	margin-right:0px;
    }
    Merci de ton aide.

Discussions similaires

  1. [CSS 2] bug menu deroulant sous ie
    Par juliendu62162 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 03/03/2012, 23h55
  2. [CSS 2] bug fond de menu sous IE6
    Par gtraxx dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 25/05/2009, 15h42
  3. Bug d'affichage de menu sous IE6
    Par oneTime dans le forum Mise en page CSS
    Réponses: 13
    Dernier message: 09/07/2008, 16h52
  4. BUG: Menu ne s'affiche pas sur 2nd ecran
    Par wxcnbv dans le forum Forms
    Réponses: 2
    Dernier message: 30/01/2008, 09h19
  5. Bug menu horizontal
    Par snaxisnake dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 15/12/2007, 15h17

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