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 :

Aligner 2 <li> au centre


Sujet :

Positionnement en CSS

  1. #1
    Membre du Club Avatar de isaric
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 103
    Points : 51
    Points
    51
    Par défaut Aligner 2 <li> au centre
    Comment aligner 2 <li> pour les afficher au centre, l'un à côté de l'autre .

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <ul>
      <li>
    texte1+image...
      </li>
      <li>
    texte2+image...
      </li>
    </ul>

    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
    23
    24
    ul {
    	text-align: center;
    	/* display: inline-block; */ /* à gauche + "compression"  */	
    	/* display: inline; */ /* à gauche + sans "compression"  */
    	/*overflow: hidden; */  /* centre + à la ligne */
    	/* align-items: stretch; */ /* centre + à la ligne */
    	 align-items: first;  /* centre + à la ligne +"compression" */	
     
    	/* display: inline-table; */
    	/* width: 100% */
    	list-style-type: none;
    	vertical-align : top;
    	margin: 0 20px 0 20px;
    }
     
    li { 	
      	display: inline-block;
      	list-style: none;
      	text-align: center;
      	list-style-type: none;
      	vertical-align : middle;
      	border-width: 0 0 5px 0;
    	padding: 0 0 0 0;
    }

    D'avance merci.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    ta notion de centrage est assez flou, centrage horizontal dans la page, centrage des textes et images dans les éléments <li> ?

    A défaut as-tu essayé de mettre ton élément <ul> en display:flex dans un premier temps ?

  3. #3
    Membre du Club Avatar de isaric
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 103
    Points : 51
    Points
    51
    Par défaut
    Merci NoSmoking

    Je cherche à centrer horizontalement les 2 <li> dans <ul></ul>
    (sauf si la largeur de la fenêtre du navigateur n'est pas en pleine écran, les 2 <li> passent l'un au dessous de l'autre sur 2 lignes).
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <ul>
      <li>
    texte1+image...
      </li>
      <li>
    texte2+image...
      </li>
    </ul>



    display:flex
    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
    ul {
    	text-align: center;
    	display: flex; /* aligne H.à gauche  + "compression"  */
    	/* display: inline-block; */ /* aligne H. à gauche + "compression"  */	
    	/* display: inline; */ /* à gauche + sans "compression"  */
    	overflow: hidden;  /* aligne H au centre + à la ligne */
    	/* align-items: stretch; */ /* aligne H au centre + à la ligne */
    	/* align-items: first; */  /* aligne H au centre + à la ligne +"compression" */	
     
    	/* display: inline-table; */
    	/* width: 100% */
    	list-style-type: none;
    	vertical-align : top;
    	margin: 0 20px 0 20px;
    }
     
    li { 	
      	display: inline-block;
      	list-style: none;
      	text-align: center;
      	list-style-type: none;
      	vertical-align : middle;
      	border-width: 0 0 5px 0;
    	/* padding: 5px; */
    	padding: 0 0 0 0;
    	/* min-width: 200px; */ 
    }
    Cela ne change rien avec :
    display: flex; , cela aligne à gauche et ne centre pas les 2 <li> l'un à côté de l'autre lorsque je suis en plein écran pour le navigateur.

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Cela ne change rien avec :
    display: flex; , cela aligne à gauche et ne centre pas les 2 <li> l'un à côté de l'autre lorsque je suis en plein écran pour le navigateur.
    Il faut bien sûr appliquer un centrage au contenu plus une obligation de passage à la ligne, non prévu par défaut.

    Avec flex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      padding: 0;
    }
    li {
      min-width: 20em;   /*-- il faut définir une largeur pour centrer du texte --*/
      text-align: center;
      list-style: none;
      background: #DEF;  /*-- juste pour visualiser --*/
    }
    tu pourrasi le faire avec un display:block sur l'élément <ul> mais il apparaitrait dans ce cas apparition de « white space » souvent indésirable.

    Avec block, valeur par défaut des <ul> :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ul {
      padding: 0;
      text-align: center;
    }
    li {
      display: inline-block;
      min-width: 20em;
      text-align: center;
      list-style: none;
      background: #DEF;
    }

  5. #5
    Membre du Club Avatar de isaric
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 103
    Points : 51
    Points
    51
    Par défaut
    En rajoutant à section
    text-align: center;
    ce la marche avec display: inline; dans ul

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <section>
    ...
    <ul>
      <li>
    texte1+image...
      </li>
      <li>
    texte2+image...
      </li>
    </ul>
    ...
    </section>

    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
    section  {
    		...
    		text-align: center;
    	}
     
    ul {
    	text-align: center;	
    	display: inline; 
    	list-style-type: none;
    	vertical-align : top;
    	margin: 0 20px 0 20px;
    }
     
    li { 	
      	display: inline-block;
      	list-style: none;
      	text-align: center;
      	list-style-type: none;
      	vertical-align : middle;
      	border-width: 0 0 5px 0;
    	padding: 0 0 0 0;
    }

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

Discussions similaires

  1. [debutant] aligner au centre du <pre>
    Par kenny49 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 09/03/2007, 15h12
  2. Menu qui ne s'aligne pas sur le centre du site ?
    Par [ZiP] dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 10/01/2007, 08h51
  3. [CSS] aligner un table au centre
    Par luta dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 26/07/2006, 20h06
  4. Alignement vertical au centre
    Par krfa1 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/08/2005, 22h23

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