Вот демо, чтобы описать его недостатки - https://jsfiddle.net/7t81gour/
.elem{
position: relative;
background: #ccc;
width: 25%; /* adaptive width */
height: 50px;
}
.text{
position: absolute;
text-align: center;
width: 100%;
height: 20px;
left: 0;
bottom: 0;
}
.text span:first-child{
max-width: 150px;
white-space: nowrap;
text-overflow: ellipsis;
padding-right: 4px;
}
.text,
.text span{
display: inline-block;
overflow: hidden;
}
<div class="elem"><div class="text"><span>Text text</span><span>0123</span></div></div>
<br>
<div class="elem"><div class="text"><span>Text text text text text text</span><span>0123456</span></div></div>
overflow: hidden
будет работать в случае, если установлена max-width
(строка 18) [или любой определенной ширины]. Проблема в том, что max-width
нельзя использовать из-за адаптивной ширины его родителей. Я никогда не узнаю максимально возможную ширину (чтобы текст отображался как можно больше в одной строке) span:first-child
- и мне нужно вычесть (принять во внимание) ширину span:last-child
из max-width
? - Ни за что!

Есть идеи?