text-align-center in <li> - element
CSS:
body {
margin: 0;
}
.header {
width: 80%;
height: 20%;
margin-left: 10%;
position: fixed;
top: 0;
box-sizing: border-box;
border-style: solid;
border-width: 1px;
background-color: green;
}
.image {
width: 20%;
height: 100%;
float: left;
box-sizing: border-box;
border-style: solid;
border-width: 1px;
}
.navigation {
width: 79%;
height: 100%;
float: right;
text-align: right;
box-sizing: border-box;
border-style: solid;
border-width: 1px;
}
ul {
height: 100%;
font-size: 0;
box-sizing: border-box;
border-style: solid;
border-width: 1px;
background-color: yellow;
}
li {
height: 100%;
font-size: initial;
display: inline-block;
box-sizing: border-box;
border-style: solid;
border-width: 1px;
background-color: blue;
}
HTML:
<div class="header">
<div class="image">
Image
</div>
<nav class="navigation">
<ul>
<li> 1.0 Main Menu </li>
<li> 2.0 Main Menu </li>
<li> 3.0 Main Menu </li>
</ul>
</nav>
</div>
Mit dem obigen code habe ich eine <header>
mit einer <image>
und ein <navigation>
. All dies funktioniert gut so weit.
Nun möchte ich, dass die text innerhalb der <li>
element wird in der center. Deshalb habe ich versucht, zu gehen, mit der Eigenschaft text-align: center;
im li CSS
aber es hat nicht funktioniert.
Was muss ich ändern in meinem code, um die text innerhalb der <li>
Elemente zentriert?
Finden Sie auch meinen code hier: https://jsfiddle.net/5jv8m5xf/39/
- Haben Sie versuchen, hinzufügen von "text-align: center" auf Ihrem "<ul>" - element?
- Ja, aber es stellt den <li> Elemente in der Mitte. Nicht der text innerhalb der <li> - Elemente.
- Sie möchten die vertikale Ausrichtung des Textes?
- stackoverflow.com/questions/33049010/how-to-center-text-in-li
- Ich habe versucht, verwenden Sie die
text-aling:center
und seine Werke. Ich war nicht in der Lage, um den Effekt zu sehen, weil der <li> die Breite ist so klein, wenn Sie erhöhen es vielleicht Sie sehen werden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
text-align:center
tut-center-der text-aber Sie haben, um eine bestimmte Breite für dieli
Elemente; andernfalls jedem von Ihnen bricht einfach zusammen, um die Breite des Textes selbst, also die Zentrierung ist nicht sichtbar.CSS:
HTML:
Wenn Sie möchten vertikale Zentrierung wie gut, gibt es eine Reihe von Techniken-die Schnellste und schmutzigste wäre, entweder fügen Sie einige
padding-top
zu denli
Elementen, oder setzen Sie einenline-height
entspricht die Höhe des Elements als ganzes.Aber eine saubere Lösung für dieses design würde wahrscheinlich wechseln zu flexbox; der code ist ein wenig einfacher und es löst die layout-Probleme, die auftreten, wenn der text in einer
li
Packungen über mehrere Zeilen:CSS:
HTML:
padding-top
zu denli
Elementen, oder setzen Sie einenline-height
entspricht die Höhe des Elements selbst.li
Elemente in der flexbox-version zu; je nach Ihren design-Sie könnten alternativ legen Sie eine Breite für dieul
statt und verwendenflex-grow:1
auf dieli
zu lassen, Ihnen Ihre eigenen gleichen Größen in diesem Bereich.Legen Sie eine Breite der
li
fürtext-align: center
relevant.Eine Methode zum ausrichten von Elementen vertikal Verwendung eines Pseudo elment - add
vertical-align: middle
zu Ihremli
und diese Pseudoafter
element, um Ihre css:Siehe demo unter:
CSS:
HTML:
Wenn
flexbox
ist eine option, die Sie verwenden könnendisplay: inline-flex
, Dinge können so einfach sein wie das hinzufügenjustify-content: center
für horizontale undalign-items: center
für vertikale Ausrichtung.Siehe demo unter:
CSS:
HTML: