Ich habe zwei Spalten in einem Flex-Container. Eine der Spalten (orange) enthält einen Avatar und seine Breite sollte genau 10% des Containers betragen.Text-Überlauf: Ellipse verursacht Flex-Artikel zum Überlauf Flex-Container
Eine andere Spalte (blau) enthält Panel, und der Titel des Panels könnte sehr lang sein, also sollte ich es über CSS abschneiden. Dieses Bild zeigt, was ich erwarte:
Was ich erwarte:
Aber wenn ich versuche, text-overflow: ellipsis
, meine zweite Reihe zu tun, wird immer breiter als die Flex-Container. Hier ist Beispiel für dieses Verhalten:
https://jsfiddle.net/8krtL9ev/1/
.container {
background: #ddd;
width: 400px;
height: 200px;
padding: 10px;
display: flex;
}
.row1 {
background: red;
flex-basis: 10%;
flex-shrink: 0;
}
.row2 {
background: blue;
flex-basis: 90%;
margin-left: 10px;
padding: 10px;
display: flex;
}
.panel {
background: green;
flex-basis: 50%;
overflow: hidden;
}
.panel-title {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
<div class="container">
<div class="row1">
</div>
<div class="row2">
<div class="panel">
<div class="panel-title">
<span>Lorem ipsum. Lorem ipsum. Lorem ipsum. Lorem ipsum. Lorem ipsum. Lorem ipsum. Lorem ipsum.</span>
</div>
</div>
</div>
</div>
Wie kann ich dieses Problem lösen?
Alles, was Sie ist 'min-width müssen eingestellt Vergessen: 0 'auf' .row2' ([überarbeitete Geige] (https://jsfiddle.net/8krtL9ev/5/)). Siehe das Duplikat für eine Erklärung. –