Tôi có hai cột bên trong một thùng chứa flex. Một trong các cột (cột màu cam) chứa hình đại diện và chiều rộng của nó phải chính xác là 10% của vùng chứa.Luồng tràn văn bản: dấu ba chấm làm cho mục flex bị tràn vào thùng chứa flex
Một cột khác (màu xanh dương) chứa bảng điều khiển và tiêu đề của bảng điều khiển có thể rất dài, vì vậy tôi nên cắt ngắn nó qua css. Bức ảnh này cho thấy những gì tôi mong đợi:
Những gì tôi mong đợi:
Nhưng khi tôi đang cố gắng để làm text-overflow: ellipsis
, hàng thứ hai của tôi là trở thành rộng hơn so với container flex. Dưới đây là ví dụ về hành vi này:
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>
Làm thế nào tôi có thể giải quyết vấn đề này?
Tất cả bạn cần là 'min-width: 0' trên' .row2' ([sửa đổi fiddle] (https://jsfiddle.net/8krtL9ev/5/)). Xem bản sao để được giải thích. –