-1

I had a multiline text that needed to be truncated.I tried this code but it is not working with multiline with one line it is working

white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
-moz-text-overflow: ellipsis;
-ms-text-overflow: ellipsis;
-webkit-text-overflow: ellipsis;

Help me to find a Crossbrowser Solution because with this code it is working only on Chrome

white-space: normal;
  word-wrap: break-word;
  -webkit-line-clamp: 9;
 -moz-line-clamp: 9;
 -o-line-clamp: 9;
 -ms-line-clamp: 9;
  display: -webkit-box;
Anahit Ghazaryan
  • 664
  • 10
  • 23

2 Answers2

1

Here is a cross-browser solution using :after. Only little caveat is you must specify a line-height or the ellipsis looks off in IE. This is tested in IE10, FF, Chrome & Safari.

FIDDLE - http://jsfiddle.net/ez8w3u0o/4/

HTML:

<div class="too-much-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum       
</div>

CSS:

.too-much-text {
    float: left;
    display: block;
    width: 100%;
    height: 200px;
    position: relative;
    overflow: hidden;
    line-height: 20px;
}
.too-much-text:after {
     position: absolute;
     right: 0;
     bottom: 0;
     background-color: #fff;
     content: "...";
     text-align: left;
     width: 50px;  
     line-height: 20px;
}
Matt Whiteley
  • 476
  • 2
  • 9
1

I found a better cross-browser solution. I used this http://mikeking.io/succinct/ and all is working fine!

Example usage: <p class="truncate">some long text here</p>

<script>
    $(function(){
        $('.truncate').succinct({
            size: 120
        });
    });
</script>

The entire Succinct jQuery plugin code is available here: https://github.com/micjamking/succinct/blob/master/jQuery.succinct.js

Luke
  • 18,811
  • 16
  • 99
  • 115
Anahit Ghazaryan
  • 664
  • 10
  • 23