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 :

Centrer un <ul> au sein d'un <div>


Sujet :

Centrer un élément en CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de randimby
    Inscrit en
    Décembre 2003
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 64
    Par défaut Centrer un <ul> au sein d'un <div>
    J'ai le code suivant (mixé html + css pour faire court)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div id="wrapper" style="width: 17em;">
     <ul style="list-style-type:none;width: 15em;">
      <li>...</li>
     </ul>
    </div>
    Je voudrais centrer le contenu de l'<ul> au sein du <div>,
    sans spécifier les marges. Est-ce possible?
    Sachant que si ce n'était pas un <ul> mais un autre <div>,
    ce genre de CSS m'aurait suffi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    div#wrapper {
    text-align: center;
    margin-right: auto;
    margin-left: auto;
    }
    Le problème avec le <ul> c'est que cela force une certaine indentation, et que les navigateurs gèrent différemment.

  2. #2
    Membre Expert Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Par défaut
    Bonjour,
    j'ai pas compris ta dernière phrase mais pour centrer horizontalement (ne pas oublier de le préciser au départ), tu as aussi la technique des marges négative
    allié à un positionnement absolue mais ce la sortir du flux normal de ton UL ne pause t-elle pas de problème?
    Il faudrait que tu donne un exemple en image et que tu dises par exemple si la largeur totale de ton UL peut être fixée.

  3. #3
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    Salut,

    Il faut définir une longueur (width) pour que le truc du margin:0 auto; fonctionne.
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    	<meta http-equiv="content-type"content="text/html; charset=UTF-8" />
    	<title>test html</title>
    	<style type="text/css">
    		body {background-color:#000000;}
    		div {width:800px; background-color:#111111;}
    			ul {margin:0 auto; width:400px; background-color:#222222; color:#ffffff;}
     	</style>
    </head>
    <body>
    	<div>
    		<ul>
    			<li>0</li>
    			<li>1</li>
    			<li>2</li>
    			<li>3</li>
    			<li>4</li>
    			<li>5</li>
    		</ul>
    	</div>
    </body>
    </html>

  4. #4
    Membre éclairé Avatar de randimby
    Inscrit en
    Décembre 2003
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 64
    Par défaut
    J'utilisais list-style-type:none;
    et cela enlevait les points mais la <ul> est un peu décalé à droite.

    Il me fallait en fait padding-left:0; pour que les 0, 1, 2, 3 ... dans cet exemple de franculo_caoulene soit aligné bien à gauche.

    Ensuite, j'ajoute text-align:center, et j'ai ce que je veux.

    Merci à tous.

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    	<meta http-equiv="content-type"content="text/html; charset=UTF-8" />
    	<title>test html</title>
    	<style type="text/css">
    		body {background-color:#000000;}
    		div {width:800px; background-color:#881111;}
    		ul {margin:0 auto; width:400px; background-color:#222222; color:#ffffff; list-style-type: none; padding-left:0; text-align: center;}
     	</style>
    </head>
    <body>
    	<div>
    		<ul>
    			<li>0</li>
    			<li>1</li>
    			<li>2</li>
    			<li>3</li>
    			<li>4</li>
    			<li>5</li>
    		</ul>
    	</div>
    </body>
    </html>

  5. #5
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    Enlève le prologue xml et tu n'auras pas besoin de text-align, ceci suffit :
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
    	<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    	<title>test (x)html</title>
    	<style type="text/css">
    		body {background-color:#000000;}
    		#div {width:800px; background-color:#111111;}
    			ul {margin:0 auto; width:400px; background-color:#222222; color:#ffffff;}
     	</style>
    </head>
    <body>
    	<div id="div">
    		<ul>
    			<li>0</li>
    			<li>1</li>
    			<li>2</li>
    			<li>3</li>
    			<li>4</li>
    			<li>5</li>
    		</ul>
    	</div>
    </body>
    </html>

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

Discussions similaires

  1. Centrer un RecyclerView au sein d'un RelativeLayout
    Par Kupris dans le forum Composants graphiques
    Réponses: 3
    Dernier message: 07/07/2015, 17h09
  2. Centrer du texte au sein d'un tableau
    Par laurentSc dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 24/09/2014, 19h06
  3. [CR9] Centrer verticalement le texte
    Par CDRIK dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 22/05/2009, 19h33
  4. Apropos des Transactions au sein d'un Stored Procedure
    Par Sarbacane dans le forum Connexion aux bases de données
    Réponses: 6
    Dernier message: 16/11/2004, 08h21
  5. Centrer un texte dans un string Grid
    Par christine dans le forum C++Builder
    Réponses: 5
    Dernier message: 22/10/2002, 22h33

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