css实现省略号

一、使用css实现

1 .slh {
2   width:200px;
3   display: block;
4   overflow: hidden;
5   white-space:nowrap;
6   -o-text-overflow:ellipsis;
7   text-overflow:ellipsis;
8 }

优点:简单易用
缺点:如果设置 
ie8+直接根据宽度将宽度截取。而不会显示省略号。
而且如果不规定高度。文本还会换行显示。
所以加一个样式
.height20{height:20px;}

二、使用js实现
另外一种办法是使用js:

 
 1 //截取字符串,显示省略号
 2 function textAuto(){
 3     $(".slh").each(function(){
 4         var nowLen = $(this).html().length;
 5         var width=$(this).css("width").replace("px","")-0;
 6         var needLen = width/14;
 7         if(nowLen > needLen){
 8             var nowWord = $(this).html().substr(0,needLen)+'...';
 9             $(this).html(nowWord);
10         }
11     });
12 }

优点:会根据宽度自动计算显示多少字符数 出现省略号。
缺点:
1、但是如果是字母的话。根据个数计算有可能宽度很短就被截取了。
2、必须在dom的内容填充之后执行截取。需要注意方法执行的时间。

posted on 2016-06-13 16:36  kingplus  阅读(5866)  评论(0编辑  收藏  举报

导航