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 :

Menu horizontal en CSS et liste


Sujet :

CSS

  1. #1
    Membre averti Avatar de SYL666
    Inscrit en
    Novembre 2003
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 308
    Points : 411
    Points
    411
    Par défaut Menu horizontal en CSS et liste
    Bonjour,
    Dans un soucis de modernisation de ma page web, j'essaie de retire un a un mes tableau, en les remplacant par du CSS.
    Malheureusement, j'ai des problemes avec mon menu principal :
    Ce menu doit prendre la totalite d'un div en longueur, chose qui etait facile avec <table>, mais avec <ul>, j ai plus de mal.

    squelette : c'est un block entete contenant le titre, et juste en dessous le menu.
    voici ma nouvelle maquette :
    XHTML:
    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
    <div id="header">
    	<h1>TITRE</h1>
    	<ul class="menu">
    		<li><a href="">News</a></li>
    		<li><a href="">About Us</a></li>
    		<li><a href="">Research Programmes</a></li>
    		<li><a href="">Publications</a></li>
    		<li><a href="">Archives</a></li>
    		<li><a href="">Team</a></li>
    		<li><a href="">Library</a></li>
    		<li><a href="">Links</a></li>
    		<li><a href="">Keep informed</a></li>
    		<li><a href="">Search</a></li>
    	</ul>
    </div>
    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
    #header {
    	margin: 1% 2% 1% 2%;
    	width: 96%;
    	z-index: 10;
    	visibility: visible;
    	border-top: 1px solid #990000;
    	border-left: 3px solid #990000;
    	border-right: 2px solid #990000;
    	border-bottom: 3px solid #990000;
    }
    #header .menu {
    	list-style-type: none;
    	width: 100%;
    }
    #header .menu li { float: left;}
    Dans cet etat la, la liste ne s'etend pas sur toute la longueur. le top serait que les differents menus s'agrandissent tous petit a petit quand on agrandi la page, un truc 100% flotant quoi.... mais bon... ben j ai bidouille pas mal, mais ca donne rien.
    Auriez vous une idee?

    Merci!
    The Big Bang theory : In the beginning there was nothing, and it exploded. (Terry Pratchett)

    IT Quote : "Unix is user-friendly. It's just very selective about who its friends are."

  2. #2
    Membre confirmé Avatar de masu
    Inscrit en
    Février 2004
    Messages
    428
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 428
    Points : 484
    Points
    484
    Par défaut
    un width sur les li ca me semblerai pas mal:
    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
    * {
    margin:0;
    padding:0;
    }
    #header {
    	[...]
    }
    #header .menu {
    	list-style-type: none;
    	width: 100%;
    }
    #header .menu li {
    float: left;
    width: 10%;
    }
    DON'T PANIC

  3. #3
    Membre régulier Avatar de IdF-Socrateus
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 76
    Points : 97
    Points
    97
    Par défaut
    j'aurais laissé en plus un peu de padding pour pas que le texte des menus soit collé aux bords (padding:1px 3px; ).
    et centré horizontalement et verticalement (line-height puis vertical-align)

  4. #4
    Membre averti Avatar de SYL666
    Inscrit en
    Novembre 2003
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 308
    Points : 411
    Points
    411
    Par défaut
    hehe! un width sur les <li>... j'aurai du y penser. ca marche mieux maintenant merci!
    pour les marges etc, je verrai plus tard.

    J'ai tout de meme une autre question :
    pourquoi ma liste se trouve visuellement a l'exterieur de mon div header encadre?!?! (elle est legerement en dessous) alors qu'elle est dedans dans le code

    pour rappel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div id="header">
    	<h1>TITRE</h1>
    	<ul class="menu">
    		<li><a href="">News</a></li>
    		[...]
    	</ul>
    </div>
    Le TITRE se trouve bien dedans, mais ma liste apparait colle au dessous du cadre... c'est plutot embetant....
    The Big Bang theory : In the beginning there was nothing, and it exploded. (Terry Pratchett)

    IT Quote : "Unix is user-friendly. It's just very selective about who its friends are."

  5. #5
    Membre régulier Avatar de IdF-Socrateus
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 76
    Points : 97
    Points
    97
    Par défaut
    il doit rester une marge non nulle quelque part: essaie de mettre margin:0; sur h1 (puisqu'il n'y a déjà plus de marge sur les li)... ou sur ul peut-être

  6. #6
    Membre confirmé Avatar de masu
    Inscrit en
    Février 2004
    Messages
    428
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 428
    Points : 484
    Points
    484
    Par défaut
    le float retire l'element du flux standard de texte.
    Pour qu ton menu apparaisse dans ton header il fait rajouter un element en dessous avec clear both.
    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
     
    <div id="header">
    	<h1>TITRE</h1>
    	<ul class="menu">
    		<li><a href="">News</a></li>
    		<li><a href="">About Us</a></li>
    		<li><a href="">Research Programmes</a></li>
    		<li><a href="">Publications</a></li>
    		<li><a href="">Archives</a></li>
    		<li><a href="">Team</a></li>
    		<li><a href="">Library</a></li>
    		<li><a href="">Links</a></li>
    		<li><a href="">Keep informed</a></li>
    		<li><a href="">Search</a></li>
    	</ul>
    	<div class="clear">&nbsp;</div>
    </div>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    .clear {
      clear:both;
    }
    DON'T PANIC

  7. #7
    Membre averti Avatar de SYL666
    Inscrit en
    Novembre 2003
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 308
    Points : 411
    Points
    411
    Par défaut
    c'etait ca....
    maintenant ca marceh pas trop mal!
    j'ai plus qu'a regler les problemes de marge et ca sera OK.

    Merci!
    The Big Bang theory : In the beginning there was nothing, and it exploded. (Terry Pratchett)

    IT Quote : "Unix is user-friendly. It's just very selective about who its friends are."

Discussions similaires

  1. [CSS 2.1] Menu horizontal full CSS
    Par General_Batton dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 21/03/2012, 14h24
  2. Centrage Menu horizontal dans CSS
    Par Lolo92160 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 11/12/2009, 11h01
  3. Menu horizontal en CSS sans Javascript...
    Par Décibel dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 17/11/2008, 23h14
  4. menu horizontal css
    Par Bibouda dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 09/01/2006, 02h29

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