单行及多行文本用…省略

单行文本省略

  • 单行文本溢出显示省略号比较简单,设置white-space: nowrap避免换行,设置overflow: hidden溢出隐藏,再设置text-overflow: ellipse即可。

text-overflow CSS 属性确定如何向用户发出未显示的溢出内容信号。它可以被剪切,显示一个省略号('...',U + 2026 HORIZONTAL ELLIPSIS)或显示一个自定义字符串。

  • 如果是横向显示的,比如左侧有图片,右侧是文字详情,则应该给详情的父元素设置overflow: hidden或者给父元素设置固定宽度,否则会挤占左侧图片的位置。

CSS:

<style>
  .single-line {
     200px;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
</style>

HTML:

<div class="single-line">
  士为知己者死。
</div>
<div class="single-line">
  世上本没有路,走的人多了,也便成了路。
</div>

多行文本省略

  • 用css来实现多行文本隐藏
XX; 
text-overflow: ellipsis;
word-break: break-all;
    
display: -webkit-box;
overflow: hidden;
-webkit-box-orient: vertical;
//要显示的行数
-webkit-line-clamp: 2;

这种方法的缺点是,只有在谷歌浏览器有效果,其他的浏览器都没有效果,所以……还是用js来实现吧

  • 用js来实现多行文本隐藏
    HTML:
<div class="main_cont">
  <span class="word_cont">随着人们生活水平的提高,越来越多的人选择出去旅游来度过自己的假期。海南省三亚市是一座美丽的滨海城市,自然风光优美,气候宜人,是一个旅游度假的好地方,所以每年都会…</span>
  <a href="" class="f14 c_3eb382 read_all">[阅读全文]</a>
</div>
<style>
.word_cont {
  485px;
  margin: 10px 0 15px;
  font-size: 14px;
  line-height: 1.6em;
}
</style>

jquery:

$('.word_cont').each(function(){
  //设置显示获取字符串的字数  这个根绝要求 看需要大概显示几行
  var maxwidth=80;   
  if($(this).text().length>maxwidth){
    //截取字符串
    $(this).text($(this).text().substring(0,maxwidth));
    //多余的用省略号显示
    $(this).html($(this).html()+'…');
  }
});
原文地址:https://www.cnblogs.com/ZerlinM/p/13605799.html