Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add three dots in a multiline span

Tags:

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?

like image 702
Nikola Avatar asked Aug 03 '12 19:08

Nikola


People also ask

How do I make 3 vertical dots in CSS?

Unicode includes ⠇ which is the Braille symbol for the letter "U". To use, just use the HTML entity &#10247; in your code.

How can I show dots in a span with hidden overflow?

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.


2 Answers

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?)

like image 62
Marcelo De Zen Avatar answered Dec 03 '22 07:12

Marcelo De Zen


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...

like image 42
vijay Avatar answered Dec 03 '22 07:12

vijay