J'ai besoin d'aligner au centre un menu horizontal.
J'ai essayé diverses solutions, y compris le mélange de inline-block
/ block
/ center-align
etc., mais je n'ai pas réussi.
Voici mon code:
<div class="topmenu-design">
<!-- Top menu content: START -->
<ul id="topmenu firstlevel">
<li class="firstli" id="node_id_64"><div><a href="#"><span>Om kampanjen</span></a></div></li>
<li id="node_id_65"><div><a href="#"><span>Fakta om inneklima</span></a></div></li>
<li class="lastli" id="node_id_66"><div><a href="#"><span>Statistikk</span></a></div></li>
</ul>
<!-- Top menu content: END -->
</div>
METTRE À JOUR
Je sais comment centrer l'alignement ul
dans le div
. Cela peut être accompli en utilisant la suggestion de Sarfraz. Mais les éléments de la liste sont toujours flottants à gauche dans le ul
.
Ai-je besoin de Javascript pour accomplir cela?
Réponses:
Depuis http://pmob.co.uk/pob/centred-float.htm :
Code
la source
position: relative
menu principal change le comportement duposition:absolute
sous-menu.#buttons
identifiant dans la question d'OP? Où y a-t-il un avis, dans votre réponse, qu'il doit l'utiliser? Comment cette réponse peut-elle être acceptée et votée en tête, si vous ne répondez pas à la question, en citant uniquement un bla-bla hors sujet à partir d'un lien?Cela fonctionne pour moi. Si je n'ai pas mal interprété votre question, vous pouvez l'essayer.
la source
text-align: left;
Avec la flexbox CSS3. Facile.
la source
C'est le moyen le plus simple que j'ai trouvé. J'ai utilisé votre html. Le remplissage sert uniquement à réinitialiser les paramètres par défaut du navigateur.
la source
Voici un bon article sur la façon de le faire d'une manière assez solide, sans aucun piratage et sans prise en charge complète de plusieurs navigateurs. Travaille pour moi:
-> http://matthewjamestaylor.com/blog/beautiful-css-centered-menus-no-hacks-full-cross-browser-support
la source
Essaye ça:
la source
Fais-le comme ça :
Et le CSS:
la source
Comme beaucoup d'entre vous, je me débat avec ça depuis un moment. La solution a finalement eu à voir avec le div contenant l'UL. Toutes les suggestions sur la modification du rembourrage, de la largeur, etc. de l'UL n'avaient aucun effet, mais les suivantes l'ont fait.
Tout tourne autour
margin:0 auto;
de la div contenant. J'espère que cela aidera certaines personnes, et merci à tous ceux qui ont déjà suggéré cela en combinaison avec d'autres choses.la source
Démo - http://codepen.io/grantex/pen/InLmJ
Omg tellement plus propre.
la source
De manière générale, la manière de centrer un élément de niveau noir (comme a
<ul>
) utilise lamargin:auto;
propriété.Pour aligner le texte et les éléments de niveau en ligne dans un élément de niveau de bloc, utilisez
text-align:center;
. Donc tous ensemble quelque chose comme ...... devrait marcher.
Le cas marginal est Internet Explorer6 ... ou même d'autres IE lorsque vous n'utilisez pas un
<!DOCTYPE>
. IE6 aligne incorrectement les éléments de niveau de bloc en utilisanttext-align
. Donc, si vous souhaitez prendre en charge IE6 (ou n'utilisez pas a<!DOCTYPE>
), votre solution complète est ...En note de bas de page, je pense que ce
id="topmenu firstlevel"
n'est pas valide car unid
attribut ne peut pas contenir d'espaces ...? En effet, la recommandation du w3c définit l'id
attribut comme un type de 'nom' ...la source
J'ai utilisé la propriété display: inline-block: la solution consiste à utiliser un wrapper de largeur fixe. À l'intérieur, le bloc ul avec le bloc en ligne pour l'affichage. En utilisant cela, l'ul prend juste la largeur du contenu réel! et enfin margin: 0 auto, pour centrer ce bloc en ligne =)
la source
j'utilise le code jquery pour cela. (Solution alternative)
la source
ul as inline-table corrige le problème avec. J'ai utilisé le div parent pour aligner le texte au centre. de cette façon, il a l'air bien même dans d'autres langues (traduction, largeur différente)
la source
La solution de @ Robusto était la plus simple pour ce que j'essayais de faire, je vous suggère de l'utiliser. J'essayais de faire la même chose pour des images dans une liste non ordonnée pour faire une galerie ... J'ai fait un violon js pour s'amuser avec. N'hésitez pas à l' essayer ici.
[il a été configuré à l'aide de l'exemple de code de robusto]
HTML:
CSS:
la source
Est une bonne approximation sur les grands écrans. Ce n'est pas bon, mais une bonne solution sale.
la source
C'est tout!
la source