Theo như tôi biết CSS tài sản text-overflow: ellipsis
có một hạn chế trong thực tế là nó chỉ hoạt động trên một dòng duy nhất của văn bản.
Vì vậy, câu hỏi của bạn, tôi không tin điều đó là có thể trong CSS đơn giản để đạt được những gì bạn đang mong muốn (hoặc ít nhất là tôi không thể hình dung nó ra)
Tôi đã đưa ra một cách cắt ngắn một từ trên nhiều dòng. Xem này JSFiddle hoặc đoạn mã dưới đây:
div {
width: 80%;
overflow: hidden;
position: relative;
line-height: 1em;
max-height: 3em;
text-align: justify;
padding-right: 1em;
font-size: 20px;
}
div:before {
content: '...';
position: absolute;
right: 2px;
bottom: 0px;
}
<div>
Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod lorem tempor incididunt eiusmod tempor ut labore incididunt lorem ipsum et consectetur verylongwordrighthere elit sed do eiusmod tempor incididunt labore lorem ipsum dolor sit amet
consectetur adipiscing elitsed do eiusmod tempor incididunt ut labore lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt
ut labore lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore lorem ipsum dolor sit amet consectetur adipiscing
elit sed do eiusmod tempor incididunt ut labore.
</div>
Nó sử dụng các yếu tố giả :before
để "tạo ra" một hình elip ở góc dưới bên phải.
Mặc dù nó có thể không phải là giải pháp dễ dàng tìm kiếm của bạn cho, tôi không tin điều đó là có thể theo một cách đơn giản hơn để đạt được những gì bạn muốn trong CSS (ai đó đúng cho tôi nếu tôi sai)
Note: có một cách để làm điều đó với jQuery và một số regex
p = $('p');
div = $('div').height();
while (p.outerHeight() > div) {
p.text(function(j, e) {
return e.replace(/\W*\s(\S)*$/, '...');
});
}
div {
font-size: 20px;
width: 80%;
height: 50px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin nisi purus et ut dictum ligula, dapibus testinglongword, mattis et dui. Nunc porttitor accumsan orci id luctus. Phasellus ipsum metus, tincidunt non rhoncus id, dictum a lectus. Nam sed ipsum a lacus sodales
eleifend. Vestibulum lorem felis, rhoncus elementum vestibulum eget, dictum ut velit. Nullam venenatis, elit in suscipit purus posuere mauris, quis adipiscing ipsumel velit testinglongword rhoncus elementum vestibulum eget, dictum ut velit.
Nullam venenatis, elit in suscipit purus posuere mauris, quis adipiscing ipsum urna ac quam.</p>
</div>
Nguồn
2016-10-27 05:58:46
Hãy thử thêm 'white-space: nowrap; '. – FDavidov
Không hoạt động, bởi vì văn bản không nằm trong 2 dòng. – ml92
có thể được cố định bằng cách đưa ra một chiều rộng cố định (không có ý định chơi chữ) –