为什么要做到这一点这么难:
- 固定高度的
DIV
,其中包含多行文本 - 如果文本太长而无法放入此框中,则在末尾显示“...”
- 不要切断单词!
以下 JSFiddle显示了演示。
问题:
- 如何使“...”也出现在Firefox、IE、Edge和Safari中?目前它只在Chrome中起作用(请参见JSFiddle中的
.chrome
css) - 如何确保只能切割空格而不是单词?
- 如何仅使用CSS完成此操作?
示例:
- 第二个框截取了单词abcdefghijk,我希望它在第二个单词后截取并添加“...”
.truncate {
border-width: 1px;
border-style: solid;
border-color: #aaaaaa;
padding: 10px;
margin-bottom: 10px;
width: 260px;
overflow: hidden;
display: block;
box-sizing: border-box;
-moz-box-sizing: border-box;
}
.truncate.ellipsis {
height: 50px;
text-overflow: ellipsis;
}
.truncate.ellipsis.chrome {
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
<div class="truncate">
No truncating at all, height adjusts to text: abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk
</div>
<div class="truncate ellipsis">
Truncating at 50px height: abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk
</div>
<div class="truncate ellipsis chrome">
Truncating at 50px height: abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk abcdefghijk
</div>
:)
- Praveen Kumar Purushothaman