单行和多行的文本省略,并用省略号代替

单行文本省略:

{  
  overflow:hidden;    //超出部分隐藏

  white-space:nowrap;    //强制不换行

  text-overflow:ellipsis    //省略号

};

写在css里,很简单的三行代码,但是注意,必须为父元素设置宽度,当然也必须得是块元素了。

多行文本省略,若使用上面的方法,只会显示第一行的文本,后面的全部省略,与期望不符,比对多种方法后,推荐用JavaScript进行设置,具体代码如下:

<div id='text'>
    /* 多行文本内容 */
</div>
<script type="text/javascript">
    function textHide(num,con){    //定义函数
	    var contain = document.getElementById(con);
	    var txt = contain.innerHTML;
	    if(txt.length>num){
	        txt = txt.substring(0,num-1)+"...";
	        contain.innerHTML = txt;
	    }else{
	        console.log("文本未超出,无需省略")
	    }
    };
    textHide(100,'text');    //调用函数
</script>

参数1(num)是允许最大文字数目,参数2(con)是元素节点的id名称

原理:

  1. 根据节点id,获取文本的全部内容
  2. 比较文本的长度(txt.length)和目标长度(num)之间的大小
  3. 若超出目标长度,截取目标长度的内容(subtring方法),并在后面拼接“...”字符串,替换当前文本内容

当然,还是要块元素,并设置宽和高。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值