css - 使用 CSS 将文本长度限制为 n 行

标签 css text overflow ellipsis

是否可以使用 CSS 将文本长度限制为“n”行(或在垂直溢出时将其剪切)。

text-overflow: ellipsis; 仅适用于 1 行文本。

原文:

Ultrices natoque mus mattis, aliquam, cras in pellentesque
tincidunt elit purus lectus, vel ut aliquet, elementum nunc
nunc rhoncus placerat urna! Sit est sed! Ut penatibus turpis
mus tincidunt! Dapibus sed aenean, magna sagittis, lorem velit

想要的输出(2 行):

Ultrices natoque mus mattis, aliquam, cras in pellentesque
tincidunt elit purus lectus, vel ut aliquet, elementum...

最佳答案

有一种方法可以使用非官方 line-clamp语法,从 Firefox 68 开始,它适用于所有主流浏览器。

body {
   margin: 20px;
}

.text {
   overflow: hidden;
   text-overflow: ellipsis;
   display: -webkit-box;
   -webkit-line-clamp: 2; /* number of lines to show */
           line-clamp: 2; 
   -webkit-box-orient: vertical;
}
<div class="text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam consectetur venenatis blandit. Praesent vehicula, libero non pretium vulputate, lacus arcu facilisis lectus, sed feugiat tellus nulla eu dolor. Nulla porta bibendum lectus quis euismod. Aliquam volutpat ultricies porttitor. Cras risus nisi, accumsan vel cursus ut, sollicitudin vitae dolor. Fusce scelerisque eleifend lectus in bibendum. Suspendisse lacinia egestas felis a volutpat.
</div>

除非您关心 IE 用户,否则无需执行 line-heightmax-height 回退。

关于css - 使用 CSS 将文本长度限制为 n 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3922739/

相关文章:

css - 另一个 Div 对齐问题

html - 基本 HTML/CSS - 无法居中

html - 使用 CSS/HTML 在半圆中布局组件

jQuery - 将文本从输入字段发送到带有预定文本的 div

ipad - iPad3 上的 Retina 显示屏显示模糊文本

jquery - 如何用省略号 "..."替换第一个溢出的元素

css - 到达滚动边界时防止过度滚动

javascript - 设置overflow-y滚动条的样式

javascript - 在内容的开头和结尾添加 div

html - 溢出, float ,高度困惑