Ich habe einen Flex-Box-Container (.search-bar
) mit zwei Text-divs (.title
) innen. Ich möchte, dass das zweite Kind den gesamten zusätzlichen Platz einnimmt und das letzte Kind wird, wenn der Platz begrenzt wird. h. das erste Kind sollte wie erforderlich ellipsen, um das zweite Kind vollständig angezeigt zu halten, und das zweite Kind sollte nur dann ellipsen, wenn das erste Kind nicht mehr sichtbar ist.Flexbox Ellipsize erstes Kind vor Sekunde
Demo:
.search-bar {
flex: 1;
display: flex;
align-items: center;
overflow: hidden;
width: 500px;
background: white;
}
.title {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
flex-shrink: 1;
}
.title:last-of-type {
flex: 1;
flex-shrink: 0;
}
.title + .title::before {
content: '>';
margin: 0 10px;
}
<div class='search-bar'>
<div class='title'>
Doop Doop Doop Doop Doop Doop Doop
</div>
<div class='title'>
Doge Doge Doge Doge Doge Doge Doge
</div>
</div>
Die flex-shrink: 0
am letzten-of-Typ Titel scheint nicht, etwas zu tun, und das letzte Kind ist immer derjenige, der ellipsized ist.
Gibt es eine Möglichkeit, den ersten Titel Ellipsize vor dem zweiten zu haben?
Hier ist eine Geige https://jsfiddle.net/6fs9gc00/
Ist das zweite '.title' das letzte Tag seines Typs in' .search-bar'? ': * - type 'Selektoren gelten nur für Tags, nicht für Klassennamen. – Shaggy
Bitte ein MCVE, Andrew. Es wird einfacher sein, durchzulaufen und Ihnen dabei zu helfen. – TylerH
@Shaggy, yeah der Selektor wird richtig auf die letzte '.title' angewendet. – Andrew