Comment puis-je centrer une liste non ordonnée <li>
dans une largeur fixe div
?
<table width="100%">
<tbody>
<tr>
<td width="41%"><img src="/web/20100104192317im_/http://www.studioteknik.com/html2/html/images/hors-service.jpg" width="400" height="424"></td>
<td width="59%"><p align="left"> </p>
<h1 align="left">StudioTeknik.com</h1>
<p><br align="left">
<strong>Marc-André Ménard</strong></p>
<ul>
<li>Photographie digitale</li>
<li>Infographie </li>
<li>Débug et IT (MAC et PC)</li>
<li> Retouche </li>
<li>Site internet</li>
<li>Graphisme</li>
</ul>
<p align="left"><span class="style1"><strong>Cellulaire en suisse : </strong></span><a href="#">+41 079 573 48 99</a></p>
<p align="left"><strong class="style1">Skype : </strong> <a href="#">menardmam</a></p>
<p align="left"><strong class="style1">Courriel :</strong><a href="https://web.archive.org/web/20100104192317/mailto:[email protected]"> [email protected]</a></p></td>
</tr>
</tbody>
</table>
css
html
html-lists
ménardmam
la source
la source
Pour centrer l'ul et aussi centrer les éléments li dedans , et faire changer dynamiquement la largeur de l'ul, utilisez display: inline-block; et enveloppez-le dans un div centré.
Mettre à jour
Voici un lien jsFiddle vers le code ci-dessus.
la source
float: none;
au fichierul
.J'adore la flexbox:
la source
Pas :
style="text-align:center;"
au parentdiv
deul
style="display:inline-table;"
àul
style="display:inline;"
àli
Ou utiliser
la source
C'est une meilleure façon de centrer les UL à l'intérieur de n'importe quel conteneur DIV.
Cette solution CSS n'utilise pas les propriétés Width et Float. Flottant: gauche et largeur: 70%, vous causera des maux de tête lorsque vous aurez besoin de dupliquer votre menu sur différentes pages avec différents éléments de menu.
Au lieu d'utiliser la largeur, nous utilisons le remplissage et la marge pour déterminer l'espace autour de l'élément de texte / menu. De plus, au lieu d'utiliser Float: Left dans l'élément LI, utilisez display: inline-block.
En faisant flotter votre LI à gauche, vous faites littéralement flotter votre contenu vers la gauche et vous devez ensuite utiliser l'un des Hacks mentionnés ci-dessus pour centrer votre UL. Display: inline-block crée votre propriété Float pour vous (en quelque sorte). Il prend votre élément LI et le transforme en un élément de bloc qui se trouve côte à côte (non flottant).
Avec la conception réactive et l'utilisation de cadres tels que Bootstrap ou Foundation, il y aura des problèmes lorsque vous essayez de flotter et de centrer le contenu. Ils ont des classes intégrées, mais il est toujours préférable de le faire à partir de zéro. Cette solution est bien meilleure pour les menus dynamiques (tels que le système de menus Adobe Business Catalyst).
Vous trouverez une référence pour ce didacticiel à l' adresse : http://html-tuts.com/center-div-image-table-ul-inside-div/
HTML
CSS
la source
Pourrait être soit
ou
dépend de son apparence (ou de sa combinaison)
la source
<li>
style n'est pas stylé, il a la même apparence.Pour centrer un objet bloc (par exemple le
ul
), vous devez définir une largeur dessus, puis vous pouvez définir les marges gauche et droite des objets sur auto.Pour centrer le contenu en ligne de l'objet bloc (par exemple le contenu en ligne de
li
), vous pouvez définir la propriété csstext-align: center;
.la source
Essayer
la source
Ajoutez simplement
text-align: center;
à votre<ul>
. Problème résolu.la source
Intéressant mais essayez ceci avec des éléments li flottants à l'intérieur de ul: Exemple ici
Le problème maintenant: l'ul a besoin d'une largeur fixe pour s'asseoir réellement au centre. Cependant, nous voulons que ce soit par rapport à la largeur du conteneur (ou dynamique), margin: 0 auto sur l'ul ne fonctionne pas.
Un meilleur moyen consiste à abandonner la liste UL / Li et à utiliser un exemple d' approche différent ici
la source
Si vous connaissez la largeur du,
ul
vous pouvez simplement définir la marge duul
à0 auto;
Cela alignera le
ul
au milieu du div contenantExemple:
HTML:
CSS:
la source
Voici la solution que j'ai pu trouver:
la source
Une autre option est:
HTML
CSS:
la source
J'ai cherché le même cas et essayé toutes les réponses en modifiant la largeur de
<li>
.Malheureusement, tous n'ont pas réussi à obtenir la même distance à gauche et à droite de la
<ul>
boîte.La correspondance la plus proche est cette réponse, mais il faut ajuster le changement de largeur avec un rembourrage
Voir le résultat ci-dessous, toutes les distances entre
<li>
également la<ul>
boîte sont les mêmes.Vous pouvez le vérifier sur ce jsFiddle:
http://jsfiddle.net/qwbexxog/14/
la source
la source
utiliser des balises centrales oldschool
:-)
la source
center
élément était obsolète dans HTML 4.01 et n'est pas pris en charge dans XHTML 1.0 Strict DTD" de w3schools.com/TAGS/tag_center.asp