.wrapper {
background: tomato;
width: 100px;
display: flex;
}
.left {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.right {
}
<div class=wrapper>
<div class="left">
title title title title
</div>
<div class="right">
123
</div>
</div>
我有一个DIV(wrapper
),里面有2个DIV:left
和right
。
wrapper
的宽度已知。我想在left
DIV中截断文本,如果它不合适的话。 right
中的文字应始终可见。我在这里尝试了几种技术,但唯一的工作是基于弹性盒。不幸的是它不适用于IE10。我使用了-ms-
前缀,没有成功。
有没有办法让它在IE10上运行?
答案 0 :(得分:1)
我无法在IE10上自行测试,但由于其-ms-flex
默认为0 0 auto
,因此您需要将-ms-flex: 0 1 auto
添加到left
,因此它是允许缩小。
由于IE11和其他浏览器的默认值为0 1 auto
,因此它们按原样运行。
Stack snippet
.wrapper {
background: tomato;
width: 100px;
display: -ms-flexbox; /* IE10 */
display: flex;
}
.left {
-ms-flex: 0 1 auto; /* IE10 */
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.right {
}
<div class=wrapper>
<div class="left">
title title title title
</div>
<div class="right">
123
</div>
</div>
答案 1 :(得分:0)
这是一个不使用flexbox但使用display:table
:
.wrapper {
background: tomato;
width: 100px;
display: table;
}
.left {
display: table-cell;
position: relative;
width: 100%;
}
.left span {
position: absolute;
top:0;
left:0;
width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.right {
display: table-cell;
}
&#13;
<div class=wrapper>
<div class="left">
<span>
title title title title title title
</span>
</div>
<div class="right">
123
</div>
</div>
&#13;