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?
Unicode includes ⠇ which is the Braille symbol for the letter "U". To use, just use the HTML entity ⠇ in your code.
So by default short text with dots is shown and by clicking long text appears. Clicking again hides that long text and shows short one again. Quite easy thing to do: just add / remove class with text-overflow:ellipsis.
The specification for the text-overflow
property says that this is not possible for multiline text:
This property specifies rendering when inline content overflows its block container element ("the block") in its inline progression direction that has ‘overflow’ other than ‘visible’. Text can overflow for example when it is prevented from wrapping (e.g. due to ‘white-space:nowrap’ or a single word is too long to fit).
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 browsers mult-lines text overflow with ellipsis appended within a width&height fixed div?)
span{ display: block; /* Fallback for non-webkit */ display: -webkit-box; -webkit-line-clamp: 3; /* no of lines */ text-overflow: ellipsis; overflow:hidden !important; width:180px; }
above CSS property 'll put three dots...
eg:
Lorem Ipsum is simply dummy
text of the printing and
typesetting industry. Lorem...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With