Wie man horizontal richten Sie ein ul-element zu zentrieren
Ich bin nicht in der Lage, richten Sie ein Menü, das sich in einem ul
zu der horizontalen Mitte des Containers. wie macht man das?
Sehen live-demo im Menü auf jsFiddle.
<li><a href="aboutus.php">AboutUs</a>
<ul class="sub">
<li><a href="aboutsquare.php">About Square Innovations</a></li>
<li><a href="ourvision.php">Our Vision</a></li>
<li><a href="ourmission.php">Our Mission</a></li>
<li><a href="trainerprofiles.php">Trainer Profiles</a></li>
<li><a href="funclass.php">Fun In Our ClassRooms</a></li>
</ul>
</li>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die Adresse
ul
- element als inline-level-element in die Seite fließen, wobei seine block-level-Eigenschaften (mit derinline-block
display — Wert) - nach der Anwendung, es kann einfach ausgerichtet innerhalb des Containers wie alle inline-level-element, mittext-align
.Um dies zu implementieren, fügen Sie den folgenden Regeln:
Hier ist die aktualisierte demo.
Referenz
display
Mozilla Developer NetworkHaftungsausschluss: Unterstützung für
inline-block
etwas begrenzt ist, siehe die Kompatibilitäts-Tabelle auf caniuse.com.Es ist ein sehr neath, voll cross-browser und dynamische "trick" um dies zu erreichen, solange bleibt das Menü in einer Zeile. Es ist sehr gut erklärt hier: http://matthewjamestaylor.com/blog/beautiful-css-centered-menus-no-hacks-full-cross-browser-support
Inline-block oft vorgeschlagen, für dieses problem ist nicht sehr gut unterstützt, bei älteren Browsern zu meiner Erfahrung. Um ehrlich zu sein, ich benutze es nie. Ich gehe immer für die clevere Methode, Matthew James Taylor beschreibt.
Edit:
Wie gewünscht werde ich kurz beschreiben, die Technik.
Ihre Datei sollte Aussehen wie eine normale Liste von links, mit einer extra-Verpackung div. So etwas wie dieses:
Nun den rest mit css zu arbeiten. Die Schritte sind wie folgt:
ul
und dieli
auf der linken Seite und geben Sie nicht in beliebiger Breite, um Sie anzupassen, um Ihre Inhalte.ul
eineposition: relative
vonleft: 50%
. Dadurch wird es den linken Rand bewegen, um das Zentrum der Eltern, und dies bedeutet, dass die Mitte des Viewports.li
eineposition: relative
vonleft: -50%
. Sie sind damit vorbei bewegen Sie den linken Rand des übergeordnetenul
und macht die Mitte der Liste derli
's line-up mit dem linken Rand des übergeordnetenul
. Da wir uns am Rande der Mittelpunkt des Viewports in der vorherigen Schritt, das Menü ist jetzt effektiv zentriert.Wie ich schon sagte, alle Kredite an Matthew James Taylor, und auf jeden Fall check out seine Gründliche Erklärung. Die Zeichnungen, die er gemacht es viel einfacher zu verstehen.
Bearbeiten
Wie gewünscht habe ich ein wenig tüfteln, um das Verfahren zu veranschaulichen:
http://jsfiddle.net/fDmCQ/
inline-block
Elemente. dies ist ein guter - Artikel, beschreiben Sie bitte die zugrunde liegende Logik oder umfassen die Höhepunkte innerhalb Ihrer Antwort, um es selbst enthalten ist.Ändern, die Marge auf die
<ul>
zu0 auto
und geben Sie eine Breite (~575px oder größer).jsFiddle-Beispiel
ul
element, so dass es starr. was, wenn Sie mehr Elemente der Liste?