给定一长串内容,我想只显示前两行文本。此内容的容器是流动的,并将调整大小到浏览器的宽度。无论容器的宽度如何,我希望文本始终只显示2行。有没有办法做到这一点?
如果无法执行上述操作,是否有基于字符数限制的方法?
答案 0 :(得分:5)
此代码段将为您提供帮助。
只需调整最大高度和行高即可更改字体大小。
.limit-2 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
line-height: 21px;
max-height: 48px;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
答案 1 :(得分:1)
您可以修正div的高度,并将overflow
设为hidden
div{
height:auto;
max-height:40px;
overflow:hidden;
background:red
}
<强> DEMO UPDATED 强>
或强>
使用简单的Jquery
方法
$('p').condense({ellipsis:'…', condensedLength: 55});
<强> DEMO 2 强>
答案 2 :(得分:1)
纯CSS解决方案意味着对文本块和'text-overflow`属性使用规定的高度。这很难实现,因为CSS没有线条的概念。相反,JavaScript解决方案意味着匹配换行符的正则表达式。
答案 3 :(得分:1)
我知道一些解决方法来解决你的问题(我认为这不可能通过css实现)。
所以,我的解决方案如下:
var height = parseInt($("#foo").css("line-height"));
var lineCount = 2;
height *= lineCount;
$("#foo").css("height", height + "px");
您获取容器的line-height
并将height
容器设置为line-height * lineCount
。