多行文本溢出省略号(随便记记

解决多行文本溢出省略号显示问题:

1.只适用于适用于WebKit浏览器及移动端的方法

  #id{

    display: -webkit-box;

    -webkit-box-orient: vertical;

    -webkit-line-clamp: 3;

    overflow: hidden; 

  }

不足:该方法不适用火狐360等等其他浏览器

2.跨浏览器兼容的方法

#id{

  position:relative;

  line-height:1.4em;

  height:2.8em;

  overflow:hidden;

  width:130px;

}

#id::after{

  content:"...";

  font-weight:bold;

  position:absolute;

  bottom:0;

  right:0;

  padding-left:20px;

  background: -webkit-linear-gradient(left, transparent, #fff 62%);

  background: -o-linear-gradient(right, transparent, #fff 62%);

  background: -moz-linear-gradient(right, transparent, #fff 62%);

  background: linear-gradient(to right, transparent, #fff 62%);

}

不足:css可在多行内容后面添加省略号,但文字未超出行的情况下也会出现省略号,需结合js判断内容是否结束====》js可判断内容是否全部显示完  查阅资料,

    /**

    * 多行文本溢出显示省略号

    */

  /* function linHide() {

        var oP = document.getElementsByClassName("payidtext");

        var oText = oP[0].innerText;

        console.log(oText);

        for (var i = 0; i < oP.length; i++) {

            var arr = oP[i].innerText.split(',');

            if (oP[i].scrollHeight>oP[i].offsetHeight){

                oP[i].innerText = arr.join(' ');

                arr.pop();

            }

            oP[i].innerText+= '...';

            console.log(oP[i].offsetHeight,oP[i].scrollHeight,arr);

        }

    }

但是内容在宽度自适应的table中不适用,因为缩小宽度时候,内容尾部不在可视高度范围内,被隐藏了....*/

3.js实现(采用)

123456,789,101112,131415,161718,192021,222324,252627,282930,313233,343536,373839

    /**

    * js实现多行文本溢出显示省略号

    */

    function linHide() {

        var con_arr = [];

        var con;

        $(".payidtext").each(function () {

            con = $.trim($(this).text());//去掉内容前后文空格

            con_arr.push(con);

            console.log(con_arr)

        });

        for(var i=0;i

            if(con_arr[i].length>30){  //如果数组长度(也就是文本长度)大于等于30(数字可自定义)

                con=con_arr[i].substr(0,30)+'...';//添加省略号并放进payidtext文字内容后面

                $(".payidtext").eq(i).text(con);

            }else{

                con=con_arr[i];

                $(".payidtext").eq(i).text(con)

            }

        }

    }

效果显示:

123456,789,101112,131415,16171...

js可以实现显示的内容长度,方便控制

你可能感兴趣的:(多行文本溢出省略号(随便记记)