к vertical-align
2 элементов бок о бок, они должны быть отображены имеет инлайн Boxe.
или они должны действовать как table-cell
или быть дочерним элементом flexbox.
Img не будет брать display-table-cell;
и display:flex
может быть сложно с img
, давайте использовать inline-block
.
Для многоточие, white-space
, text-overflow
и overflow
должны быть использованы вместе. здесь с inline-block
, нам также нужно указать width
.
.container {
height: 72px;
width: 250px;
text-align: center;
}
img {
vertical-align: middle;
}
.test {
height: 64px;
width: 64px;
}
.inner {
width: 180px;
display: inline-block;
white-space: pre;
text-overflow: ellipsis;
overflow: hidden;
vertical-align: middle;
}
<div class="container">
<img src="http://dummyimage.com/64x64&text=test.png">
<span class="inner">this line can be 2-3 line with ellipsis</span>
</div>
<div class="container">
<img src="http://dummyimage.com/64x64&text=test.png">
<span class="inner">this line can be 2-3 line with ellipsis
this line can be 2nd line with ellipsis</span>
</div>
<div class="container">
<img src="http://dummyimage.com/64x64&text=test.png">
<span class="inner">this line can be 2-3 line with ellipsis
this line can be 2nd line with ellipsis
this line can be the third line with ellipsis</span>
</div>
Чтобы активировать многоточие на несколько строк, вы должны использовать white-space:pre;
или <pre>
тег и сделать разрыв строки внутри HTML-кода. text-overflow:ellipsis;
обычно используется на одной строке и не будет доступен в тексте обертывания и просто показывается внизу коробки.
поплавка, как это https://jsfiddle.net/LeoLion/y4rheL4o/ –