css里文本换行问题

是这样的,有一段文字,我想让它只显示两行,多余的用省略号显示,可目前我写的只能显示一行,求大神帮帮忙!谢谢了!p{white-space:nowrap;text-over... 是这样的,有一段文字,我想让它只显示两行,多余的用省略号显示,可目前我写的只能显示一行,求大神帮帮忙!谢谢了!
p
{
white-space:nowrap;
text-overflow:ellipsis;
overflow:hidden;
font-size:12px;
}
展开
 我来答
lp5276159be1
推荐于2016-04-24 · TA获得超过2万个赞
知道大有可为答主
回答量:1万
采纳率:39%
帮助的人:4273万
展开全部

以前看到过这样一个逻辑。


大概意思是这样:给目标元素中,一个字一个字的往里添加,然后计算添加一个字后,元素的高度,然后记录(最初肯定是一行,当高度变化一次,就说明增加了一行,然后把行数就执行加1操作),然后就根据这个计算得到的行数,就可以判断,在什么时间,把字符串截断,显示为省略号了。。。


能理解这个逻辑不?那就试试用代码写出来吧。

好像是有点麻烦。。。。

<body>
<div id='view' style='width:200px;height:70px;overflow:auto'></div>
<script>
s = '条件:<br>\
div   css  javascript  html<br>\
如何实现多行文本中最后一行文本最后自动显示省略号(如三行文本,文本自动换行后,第三行很长,自动显示省略号)';

el = document.getElementById('view');
n = el.offsetHeight;
for(i=10; i<s.length; i++) {
  el.innerHTML = s.substr(0, i);
  if(n <= el.scrollHeight) break;
}
el.style.overflow = 'hidden';
el.innerHTML = s.substr(0, i-3) + '...';

</script>
</body>


我给你一个建议吧,直接overflow:hidden,然后在最后,覆盖一张...的透明PNG的图片,不过最后显示的一个文字有可能被遮盖住,漏点出来


又或者你放弃多行加省略号的想法,这样什么事情都好解决了

黯夜魂殇
2014-11-04 · 超过13用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:22.3万
展开全部
white-space:nowrap; 这个是强制不换行,把这个去掉,然后控制一下高度就好了。
word-wrap: break-word; word-break: normal;这两个加上,不论是英文还是数字都会自动换行的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式