HTML UL Breite
Gegeben Sie das folgende markup:
<ul>
<li>apple</li>
<li class="highlight">orange</li>
<li>pear</li>
</ul>
Sowohl die ul
's und die li
's breiten erscheinen 100%. Habe ich, wenn ich eine background-color
auf der Liste Element, das highlight erstreckt sich die gesamte Breite der Seite.
Ich will nur den hintergrund, highlight, Strecke, die so breit sind wie das breiteste Element (mit vielleicht einige padding). Wie kann ich beschränken, die li
's (oder vielleicht die ul
's), Breite auf die Breite des größten Elements?
InformationsquelleAutor der Frage Jacob Carpenter | 2008-10-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hinzufügen
ul {float: left; }
Stil zwingen wird, Ihre Liste in die bevorzugte Breite, das ist, was Sie wollen.Problem ist, sollten Sie sicherstellen, dass das nächste element ist unten die Liste, wie vorher auch. Clearing sollte sich darum kümmern.
InformationsquelleAutor der Antwort buti-oxa
Können Sie es so machen?
InformationsquelleAutor der Antwort BoltBait
Genau wie BoltBait sagte, wickeln Sie Ihren text in ein inline-element, wie
span
und geben an, dass die Klasse.Meinen zusätzlichen 2 Cent ist, wenn Sie keinen Zugriff haben, ändern Sie die HTML, du kannst es mit Javascript. In jQuery:
und verwenden Sie die CSS:
edit: nach re-Lektüre Ihrer Frage, können Sie klären: wollen Sie die Höhepunkt nur so breit ist wie das element, das hervorgehoben wird, oder so breit wie das breiteste element in der Liste? eg:
...wo die Sternchen stehen für die Hervorhebung. Wenn dem so ist, dann buti-oxa s Antwort ist die einfachste Art und Weise. nur vorsichtig sein, mit clearing-Ihr schwebt.
InformationsquelleAutor der Antwort nickf
Hinzufügen
style="float: left;"
zuul
verursachen dieul
nur Strecke, die so breit sind wie das breiteste Element. Allerdings, das nächste element wird platziert auf der rechten Seite. Hinzufügenstyle="clear: left;"
auf das nächste element das nächste element nach demul
.Probieren Sie es aus
Sehen Dokumentation auf
float
undclear
.InformationsquelleAutor der Antwort Nathan
Der beste Weg zu gehen über die Lösung dieses ohne vermasselt den Stil Ihres vorhandenen Layouts ist durch die Verpackung des
ul
undli
imdiv
mitdisplay: inline-block
InformationsquelleAutor der Antwort redress