Ich muss Kursivschrift in einer Flex-Box verwenden, aber Texte werden wegen Überlauf abgeschnitten.Wie verhindert man, dass ein Text überläuft UND nicht abgeschnitten wird?
Bedingungen Ich möchte für mein Text:
- Überlauf nicht sichtbar sein muss
- Text darf nicht
abgeschnitten Dies ist meine aktuelle Situation (kleine blaue Box zeigt an Größe Textfeld):
012 dieseUnd ich will:
Wie dies erreicht werden kann?
Ich habe einen Hack von this SO post, aber es macht ein ernstes Problem, das Sie auf dem Schnipsel unten sehen können.
Mein aktueller Code hier:
body {
font-family: sans-serif;
font-size: 30px;
}
.ellipsiswrap {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.italic {
font-style: italic;
}
.italicguard {
padding-right: 0.3em;
margin-right: -0.3em;
}
.usernamewrapper {
font-size: 1.2em;
overflow: hidden;
display: flex;
background-color: #303030;
color: #fff;
}
.opacity5 {
opacity: 0.5;
}
.screenname {
margin-left: 0.3em;
flex: 1;
}
.widthlimit150 {
width: 300px;
}
.widthlimit70 {
width: 140px;
}
.letterspacing {
letter-spacing: .12em
}
.wordspacing {
word-spacing: .12em
}
<p>Original:</p>
<div class="usernamewrapper">
<span class="ellipsiswrap italic">username W</span>
<span class="screenname ellipsiswrap opacity5 italic italicguard">@username</span>
</div>
<p>Hack:</p>
<div class="usernamewrapper italic italicguard">
<span class="ellipsiswrap italicguard">username W</span>
<span class="screenname ellipsiswrap opacity5 italicguard">@username</span>
</div>
<p>Behavior that must be kept:</p>
<div class="usernamewrapper italic widthlimit150">
<span class="ellipsiswrap">username W</span>
<span class="screenname ellipsiswrap opacity5">@username</span>
</div>
<div class="usernamewrapper italic widthlimit70">
<span class="ellipsiswrap">username W</span>
<span class="screenname ellipsiswrap opacity5">@username</span>
</div>
<p>Problem with the hack:</p>
<div class="usernamewrapper italic italicguard widthlimit70">
<span class="ellipsiswrap italicguard">username W</span>
<span class="screenname ellipsiswrap opacity5 italicguard">@username</span>
</div>
<p>letter-spacing from Michael_B:</p>
<div class="usernamewrapper">
<span class="ellipsiswrap italic letterspacing">username W</span>
<span class="screenname ellipsiswrap opacity5 italic italicguard">@username</span>
</div>
<p>word-spacing from Michael_B:</p>
<div class="usernamewrapper">
<span class="ellipsiswrap italic wordspacing">username W</span>
<span class="screenname ellipsiswrap opacity5 italic italicguard">@username</span>
</div>
Geschieht dies, wenn Sie eine richtige kursive Schrift verwenden, anstatt der Browser faux kursiv? –
@Paulie_D Windows-Standardschriftart kursiv korrekt, also ja. –
Nicht, was ich meinte .... Ich meine eine richtig gestaltete kursive Schriftfamilie? Nicht das "font-style: italic" ... was eine ganz andere Sache ist. –