Ich muss ein horizontales Menü zentrieren.
Ich habe verschiedene Lösungen ausprobiert, einschließlich der Mischung aus inline-block
/block
/ center-align
usw., aber es ist mir nicht gelungen.
Hier ist mein 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>
AKTUALISIEREN
Ich weiß, wie man das ul
innerhalb des zentriert div
. Dies kann mit Sarfraz 'Vorschlag erreicht werden. Die Listenelemente werden jedoch weiterhin in der Liste angezeigt ul
.
Benötige ich Javascript, um dies zu erreichen?
Antworten:
Von http://pmob.co.uk/pob/centred-float.htm :
Code
quelle
position: relative
Hauptmenü das Verhalten desposition:absolute
Untermenüs ändert .#buttons
ID in der Frage von OP? Wo in Ihrer Antwort steht, dass er es benutzen muss? Wie kann dies akzeptiert und als Antwort mit der höchsten Bewertung gewählt werden, wenn Sie die Frage tatsächlich nicht beantworten und nur einige Off-Topic-Bla-Bla von einem Link zitieren?Das funktioniert bei mir. Wenn ich Ihre Frage nicht falsch verstanden habe, können Sie es versuchen.
quelle
text-align: left;
Mit CSS3 Flexbox. Einfach.
quelle
Dies ist der einfachste Weg, den ich gefunden habe. Ich habe dein HTML benutzt. Das Auffüllen dient nur zum Zurücksetzen der Browser-Standardeinstellungen.
quelle
Hier ist ein guter Artikel darüber, wie man es auf eine ziemlich solide Art und Weise macht, ohne Hacks und volle browserübergreifende Unterstützung. Funktioniert bei mir:
-> http://matthewjamestaylor.com/blog/beautiful-css-centered-menus-no-hacks-full-cross-browser-support
quelle
Versuche dies:
quelle
Mach es so :
Und das CSS:
quelle
Wie so viele von Ihnen habe ich eine Weile damit zu kämpfen. Die Lösung hatte letztendlich mit dem Div zu tun, das das UL enthielt. Alle Vorschläge zum Ändern der Polsterung, Breite usw. des UL hatten keine Auswirkung, die folgenden jedoch.
Es dreht sich alles um die
margin:0 auto;
auf dem enthaltenen div. Ich hoffe, dass dies einigen Menschen hilft, und danke an alle anderen, die dies bereits in Kombination mit anderen Dingen vorgeschlagen haben.quelle
Demo - http://codepen.io/grantex/pen/InLmJ
Omg so viel sauberer.
quelle
Im Allgemeinen wird zum Zentrieren eines Schwarzpegelelements (wie a
<ul>
) das verwendetmargin:auto;
Eigenschaft .Verwenden Sie zum Ausrichten von Text- und Inline-Ebenenelementen innerhalb eines Blockebenenelements
text-align:center;
. Also alles zusammen so etwas wie ...... sollte arbeiten.
Der Randfall ist Internet Explorer6 ... oder sogar andere IEs, wenn Sie a nicht verwenden
<!DOCTYPE>
. IE6 richtet Blockelementelemente mit falsch austext-align
. Wenn Sie also IE6 unterstützen möchten (oder a nicht verwenden<!DOCTYPE>
), ist Ihre vollständige Lösung ...Als Fußnote halte ich es für
id="topmenu firstlevel"
ungültig, da einid
Attribut keine Leerzeichen enthalten kann ...? In der Tat definiert die w3c-Empfehlung dasid
Attribut als ' Name' -Typ ...quelle
Ich habe die Eigenschaft display: inline-block verwendet: Die Lösung besteht darin, einen Wrapper mit fester Breite zu verwenden. Im Inneren befindet sich der ul-Block mit dem Inline-Block zur Anzeige. Damit nimmt die ul nur die Breite für den eigentlichen Inhalt! und schließlich margin: 0 auto, um diesen Inline-Block zu zentrieren =)
quelle
Ich benutze JQuery-Code für diese. (Alternative Lösung)
quelle
ul als Inline-Tabelle behebt das Problem mit. Ich habe das übergeordnete div verwendet, um den Text auf die Mitte auszurichten. Auf diese Weise sieht es auch in anderen Sprachen gut aus (Übersetzung, andere Breite)
quelle
@ Robustos Lösung war die einfachste für das, was ich versucht habe. Ich schlage vor, Sie verwenden sie. Ich habe versucht, dasselbe für Bilder in einer ungeordneten Liste zu tun, um eine Galerie zu erstellen ... Ich habe eine js-Geige gemacht, um damit herumzuspielen. Fühlen sich frei es hier aus.
[Es wurde mit Robustos Beispielcode eingerichtet]
HTML:
CSS:
quelle
Ist eine anständige Annäherung auf großen Bildschirmen. Es ist nicht gut, aber eine gute schmutzige Lösung.
quelle
Das alles!
quelle