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 :

Design : Problème avec li (inline)


Sujet :

CSS

  1. #1
    Membre actif Avatar de MicaelFelix
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 254
    Points : 221
    Points
    221
    Par défaut Design : Problème avec li (inline)
    Bonjour,

    Je vous explique mon problème, voici la page:
    http://www.bird4life.com/bepnew/test_v1.html

    Bref je travaille sur mon nouveau design de site web car l'ancien (www.birdsevolutionpro.com) était assez raté au niveau couleurs.

    Mon problème est le suivant :
    J'utilise la technique de CSS Sprite qui fonctionne bien, mais comme vous pouvez le voir le menu à gauche devrait être horizontal... pourtant il se met vertical malgré les deux "display:inline" du code css qui se trouve ici:
    http://www.bird4life.com/bepnew/main.css

    Un extrait de ce 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
    ul#top_menu
    {
    	list-style:none; 
    	margin:0;
    	padding:0;
    	display:inline;
    	height:30px;
    	width:800px;
    }
    ul#top_menu li
    {
    	display:inline;
    }
     
     
    ul#top_menu li a
    {
    	display:block;
    	width:157px;
    	height:30px;
    }
     
    #home a span
    {
    	display:block;
    	position:relative;
    	width:157px;
    	height:30px;
    	background-image:url(_but/menu.jpg);
    	background-position:0px 0px;
    	line-height:30px;
    	text-align:center;
    }
    #home a:hover span
    {
    	display:block;
    	position:relative;
    	width:157px;
    	height:30px;
    	background-image:url(_but/menu.jpg);
    	background-position:0px 30px;
    	line-height:30px;
    	text-align:center;
    }
    Bref le problème vient apparemment de display:block car si j'enlève display:block des entités en dessous de ma liste non ordonnée, ça s'affiche en horizontal, mais je perd les propriétés de hauteur et de largeur, alors ça m'arrange pas.

    Si vous vous demandez pourquoi il y a "test test test" en dessous des deux boutons, c'est simplement un petit test pour montrer que inline fonctionne (j'avais besoin de me prouver que ça fonctionnait au moins au niveau "de base" Ben oui faut se convaincre parfois ).

    Merci d'avance pour votre aide précieuse!

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Mets à la place de ainsi que sur tes liens en display block.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juin 2007
    Messages : 27
    Points : 31
    Points
    31
    Par défaut
    Les li ont un display bien à eux, donc ça ne sert à rien de metre in-line, mais y une largeur fixe et joues avec les float et oublie pas un clear both aprés-

  4. #4
    Membre actif Avatar de MicaelFelix
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 254
    Points : 221
    Points
    221
    Par défaut
    Merci!
    Ok donc maintenant c'est horizontal (j'ai mis float left à LI et A, plus un CLEAR:BOTH à A, mais je ne sais pas si c'est utile vu que ça marchait sans?) mais j'ai un autre problème:
    Sur Mozilla c'est Ok après le hover il revient à l'état normal, mais sur IE (je teste sous la version 6) dès qu'on passe le curseur dessus ça ne fonctionne plus (ça reste sur l'image du hover), moi j'aimerait que ça reprenne l'état initial, est-ce que vous avez une solution?
    Je continue à chercher de mon côté.
    Merci d'avance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ...
    ul#top_menu li
    {
    	float:left;
    }
     
     
    ul#top_menu li a
    {
    	float:left;
    	clear:both;
    ...
    Suite du message [edit] :
    - Hover semble fonctionner correctement maintenant
    - J'ai toujours le bug avec la "main" qui n'est pas visible sur IE6.
    - La marge du menu est plus grande sur IE6, je ne comprends pas pourquoi (explications du bug sur la page) :
    http://www.bird4life.com/bepnew/test_v1.html

  5. #5
    Membre actif Avatar de MicaelFelix
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 254
    Points : 221
    Points
    221
    Par défaut
    Pour mon problème avec la "main" qui n'apparait pas sur IE6, c'est lié apparemment au fait que dans ma balise A j'ai un SPAN qui n'est pas vraiment considéré comme du texte lié (j'ai testé en rajoutant du texte avant le SPAN, la main apparaissait juste pour le texte rajouté...)
    Merci d'avance.

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Le bug vient du fait que tu as mis ton span en display:block et que sémantiquement, mettre un élément block dans un élément inline ce n'est pas correct.

    Je pense que si tu mets ton <a> en display:block aussi ça résoudra ton problème.

  7. #7
    Membre actif Avatar de MicaelFelix
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 254
    Points : 221
    Points
    221
    Par défaut
    Non... on dirait que cela ne règle pas le problème, j'ai mis "display:block" dans le style du A, ça ne change rien apparemment.

  8. #8
    Membre actif Avatar de MicaelFelix
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 254
    Points : 221
    Points
    221
    Par défaut
    Ok ce que j'ai fait, je suis allé sur le site de a list appart, j'ai regardé le css de leur menu, et je me suis dit "bon j'avais pris les span à partir d'un autre site, mais c'est vrai que les span ne servent à rien".
    Bref, j'ai enlevé les spans, changé A display:block à la place de float, et ça semble fonctionner comme par enchantement

    Et pour la marge c'est bizarre, IE semble toujours rajouter quelque chose comme 2px à gauche du ul... c'est génant... et pourtant ul n'a pas de margin ni padding...
    Bref j'ai pris une solution intermédiaire, c'est pas tout à fait centré (quelques pixels de décalage à droite), sur IE ça se voit moins.

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

Discussions similaires

  1. Problème avec display:inline
    Par SALISTASE dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 10/04/2008, 11h25
  2. design ,problème avec mon nouveau site !
    Par matrixofdeath dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 27/01/2008, 21h24
  3. Problèmes avec display:inline-block
    Par NewbiePower dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 30/10/2007, 11h34
  4. [XSL-FO] Un petit problème avec fo:inline
    Par citizen87 dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 10/07/2007, 17h27
  5. Problème avec les inlines, et block
    Par Oberown dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 16/12/2004, 12h03

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