Wie vertikal-center-Anker-Tags text innerhalb eines ul li
Hier ist mein html:
<ul id="sub_nav" class="block_hide trim no_list no_line" style="display: block; left: 524.5px;">
<li><a href="/path1" class="one">1st button</a></li>
<li><a href="/path2" class="one">2nd button</a></li>
<li><a href="/path3" class="one">3rd button</a></li>
</ul>
Ich auch an einem Bild, wenn das, was ich derzeit habe. Ich habe versucht, das hinzufügen display: table-cell;
vertical-align: middle; der anchor-tag Klasse aber es hat nicht funktioniert ich habe auch versucht, das hinzufügen einer Spannweite um den Anker-tag mit einer Klasse mit: display: table-cell; vertical-align: middle; aber das hat nicht funktioniert entweder, in beiden Fällen Schaltfläche Höhen waren nicht konstant.
Wie kann ich vertikal text zentrieren und halten meine Knöpfe, Sie Höhe und Breite die gleichen?
Landete mit display:table-cell Lösung wie es die meisten cross-browser....Ich wusste nicht, wie es auf den ersten, weil ich musste einen hard-code die Breite von meinem "button" statt 100%, aber nachdem ich Vergangenheit, dass es eine solide Lösung:
meine li:
.header #sub_nav li {
display: table;
float: left;
font-size: 11px;
line-height: 12px;
margin-bottom: 12px;
margin-left: 12px;
width: 86%;
}
meine:
.header #sub_nav li a {
display: table-cell;
height: 45px;
vertical-align: middle;
width: 111px;
}
Dein code entspricht nicht deinem Bild - es ist nutzlos. Würde es helfen, wenn Sie das einrichten könnten, eine realistische jsfiddle.
InformationsquelleAutor Mike6679 | 2012-12-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich Tun etwas ähnliches, was Sie gefragt haben. Definieren Sie die übergeordneten wie "display: table" und das element selbst mit "vertical-align:middle" & "display:table-cell" für mich gearbeitet.
InformationsquelleAutor ggcodes
Wenn Sie nur ein Element innerhalb des li (oder div, etc), der einfachste Weg ist, um line-height auf die gleiche wie das element in der Höhe, und es wird vertikal ausgerichtet sein. Ich habe einen einfachen fiddle unten, und ich hoffe, das hilft!
http://jsfiddle.net/fCkLJ/
funktioniert gut für einzelne Werbebuchungen
InformationsquelleAutor Dan Tang
Versuchen:
Dadurch wird auch padding-top/bottom auf dem LI, aber wenn ein LI-wraps, und ein weiterer, nicht wahr, Sie werden verschiedenen Höhen.
http://jsfiddle.net/VMCH6/1/
Danke, aber es bewirkt, dass die Schaltflächen zu den verschiedenen Höhen, die ich versuche zu vermeiden.
InformationsquelleAutor deach
Gibt es viele Möglichkeiten, hier sieht
InformationsquelleAutor Damonsson
Wenn Sie
background-image
, dann sollten Sie eine Feste Breite-Höhe für dasli.a
element, und verwenden Sie diesen hack für das a-element:Dies ist die Beispiel arbeiten (auch mit Ihrem Bild als hintergrund). Die Schaltfläche "abschließen" wird anklickbar, und die Flexibilität, um mehrere Zeilen:
http://jsfiddle.net/GqBAL/494/
Hinweis: ist Das nicht 100% cross-browser, aber ist die beste Lösung.
Überprüfen Sie die fiddle link mit verschiedenen Browsern und dem IE zu überprüfen. Was meinst du mit "ich will nicht horizontal ausrichten"?
Ich meinte ich will nicht die horizontale Zentrierung.
Sie können Steuern, die mit
margin
/padding
dieses Beispiel ist nicht horizontal zentrierenDiese def funktioniert in Chrome (webkit-basierten Browsern), aber noch nicht getestet auf anderen Browsern noch...danke Tom!
InformationsquelleAutor Tom Sarduy
Habe ich nicht genug Kenntnisse in HTML/CSS, aber ich denke, es ist Ok .
in dieser Antwort, die ich entfernt haben, die Höhe von
UL/LI
zur Verfügung gestellt und auto-Höhe , und in der Anker -<a>
tag habe ich genutzt, die Polsterung , die Anzeige einesbigger-height-centralized
- Taste .CSS-Teil ist :
HTML-Teil ist :
InformationsquelleAutor Tushar Pandey