Ich versuche eine nummerierte Liste von Strings zu erstellen, bei denen ich am Ende der rechts liegenden Zeichenfolge einen Wert hinzufügen muss. Ich habe die folgende Frage gefunden (Right align some text within a list item) und das funktioniert, bis der Text gerade nicht groß genug ist, um einen Wrap zu erzwingen. Der nach rechts schwebende Text überlappt den Text.Richten Sie einige Texte in einer sortierten CSS-Liste rechts aus.
Abgespeckte HTML:
<div class="container">
<ol class="top3">
<li>Short name<span class="top3-value">10%</span></li>
<li>Very very long long long name<span class="top3-value">12%</span></li>
<li>Very very long long longlonglongname<span class="top3-value">12%</span></li>
</ol>
</div>
Der Behälter, top3 und Top3-Wertklassen sind definiert als (LESS-Syntax):
.container {
width: 175px;
}
ol.top3 {
margin: 0;
padding: 0;
counter-reset: item;
list-style: none;
border-top: 1px solid #AEAEAE;
li {
position: relative;
margin: 0 0 6px 0;
padding: 10px 8px 10px 2em;
list-style: none;
border-bottom: 1px solid #AEAEAE;
span.top3-value {
padding-left: 1em;
position: absolute;
right: 0;
font-weight: 700;
}
}
}
dieses Beispiel Siehe: http://codepen.io/kdbruin/pen/xVyEya
Die Die Breite des Containers ist so festgelegt, dass sich das Problem manifestiert. Auf meiner Webseite kann die Breite variieren und wird durch andere Elemente auf der Seite bestimmt.
Ich habe versucht, einen display: block
zu der Top3-Wert-Klasse hinzuzufügen, aber dies wird immer den Wert unter dem Text, auch wenn es genug Platz, um es nach rechts zu setzen zwingen. Außerdem wird der Wert durch die Trennlinien angezeigt.
Ähnliche Ergebnisse werden angezeigt, wenn anstelle der absoluten Positionierung des Werts float: right
verwendet wird.
Irgendwelche Vorschläge?
Wie ist das? http: // Codepen.io/anon/pen/KzGNBB – Pete
@Pete Danke für die Alternative, aber ich habe dies bereits als eine Lösung für unseren Kunden vorgeschlagen, aber er lehnte es ab. Die willkürlichen Wortbrüche waren für ihn keine angemessene Lösung. –
In diesem Fall können Sie dem Container keine feste Breite zuweisen: http://codepen.io/anon/pen/XdxpNb. Aber wenn Ihr Container jemals kleiner als Ihr längstes Wort wird - ohne Wortumbruch, werden Sie immer überlappend kommen, also akzeptiert Ihr Client überlappende Wörter oder Wortumbruch – Pete