The solution you are trying to use is a very old technique. It uses the old version display: flex;and should be avoided.
You can use the JavaScript method, clamp.js, but I also created this clean version of CSS: http://codepen.io/n3ptun3/pen/meYKgZ?editors=110
CSS
p {
position: relative;
width: 400px;
height: 120px;
line-height: 30px;
margin: 0px;
padding: 0px;
overflow: hidden;
text-align: justify;
}
p::after {
content: "...";
background-color: #fff;
height: 30px;
width: 20px;
position: absolute;
bottom: 0;
right: 0;
}
Of course, this only works against a solid background, but most of the time it will take place with body text.
Here are the highlights: