【发布时间】:2017-05-08 07:14:19
【问题描述】:
我在 flex 容器中有两列。其中一列(橙色列)包含一个头像,其宽度应正好是容器的 10%。
另一列(蓝色的)包含面板,面板的标题可能很长,所以我应该通过 css 截断它。这张照片显示了我的期望:
我的期望:
但是当我尝试做text-overflow: ellipsis 时,我的第二行变得比 flex 容器更宽。这是这种行为的示例:
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>
我该如何解决这个问题?
【问题讨论】:
-
您所需要的只是
min-width: 0.row2(revised fiddle)。请参阅副本以获取说明。