I found this question here on SO and the solution is pretty simple:
jsfiddle: http://jsfiddle.net/Y5vpb/
html:
<span>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen look</span>
css:
span{
display:inline-block;
width:180px;
white-space: nowrap;
overflow:hidden !important;
text-overflow: ellipsis;
}
And it works like expected, it prints: Lorem Ipsum is simply du...
Now, the same thing I would like to, but keep failing, create on the following example:
jsfiddle: http://jsfiddle.net/9HRQq/
html:
<div class="textContainer">
<img src="#" class="image" alt="the_image">
<span class="text">"The quick brown fox jumps over the lazy dog" is an english-language pangram, that is, a phrase that contains all of the letters of the English alphabet. It has been used to test typewriters and computer keyboards, and in other applications involving all of the letters in the English alphabet. Owing to its brevity and coherence, it has become widely known.</span>
</div>
css:
.textContainer{
width: 430px;
float: left;
margin-top: 10px;
border: 1px solid black;
}
.text {
font-size: 24px;
line-height: 24px;
font-weight: bold;
color: #047F04;
display: block;
white-space: normal;
overflow: hidden !important;
text-overflow: ellipsis;
height: 99px;
}
.image {
float: right;
position: absolute;
top: 85px;
right: 10px;
width: 108px;
height: 42px;
}
Can you please tell me how could I achieve to put ... on the end of the string in my example?
The specification for the
text-overflowproperty says that this is not possible for multiline text:In other words, only works on single-line text blocks.
source: http://dev.w3.org/csswg/css3-ui/#text-overflow
EDIT
This fiddle has a workaround using jquery: http://jsfiddle.net/k5VET/ (source: Cross-browser multi-line text overflow with ellipsis appended within a fixed width and height)