Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

CSS Text-overflow Ellipsis Not Displaying

CSS Text-overflow Ellipsis Not Displaying

Problem

I have a div with some inner content that I need to have an Ellipsis when it overflows. I've done this many times on other elements but for some reason this is not behaving as expected.

Also, I left white-space:nowrap; out on purpose because the content then does not break to the next line within the span, as a result I only see 2-3 words before the ellipsis starts. I would like the text to span the entire height of the parent container then have the ellipsis start for content that exists beyond those bounds.

Here is a working Demo: http://jsfiddle.net/sadmicrowave/DhkSA/

CSS:

.flow-element{
     position:absolute;
     font-size:12px;
     text-align:center;
     width:75px;
     height:75px;
     line-height:70px;
     border:1px solid #ccc;
}

.flow-element .inner{
     position:absolute;
     width:80%;
     height:80%;
     border:1px solid blue;
     top:0px;
     bottom:0px;
     left:0px;
     right:0px;
     margin:auto;
     text-align:center;
}

.flow-element .long{
     float:left;
     height:50px;
     width:100%;
     line-height:12px;
     border:1px solid red;  
     text-overflow:ellipsis;
     overflow:hidden;
}

HTML:


  
Box 1 and some other content that should wrap and do some other stuff

Can someone please help. I need to display as much text as possible within the red outlined span while having an ellipsis when text content overflows the container...

Thanks in advance

Problem courtesy of: sadmicrowave

Solution

you can't apply text-overflow: ellipsis to inline elements (span), it can be used with block elements only (div)

and also use white-space:nowrap; when using text-overflow: ellipsis;

check this, i have converted your inner span to div, just for proof of concept

http://jsfiddle.net/3CgcH/5/

i don't know why you have used span, but as per your logic you can make changes as i suggested

Update:

someone will think that in the question if i put white-space: nowrap; to span element then the text-overflow: ellipsis: is working so may be i am wrong, but it is not the case because questioner has used float: left in the span tag that means the span tag will be converted to a box block and work like a normal block level element, which is also wrong thing to do because if you need the block element behavior then use a block level element

Reference:

http://www.w3.org/TR/CSS2/visuren.html#propdef-float

http://dev.w3.org/csswg/css3-ui/#text-overflow

Solution courtesy of: Saket Patel

Discussion

View additional discussion.



This post first appeared on CSS3 Recipes - The Solution To All Your Style Problems, please read the originial post: here

Share the post

CSS Text-overflow Ellipsis Not Displaying

×

Subscribe to Css3 Recipes - The Solution To All Your Style Problems

Get updates delivered right to your inbox!

Thank you for your subscription

×