美文网首页
CSS超出盒子显示省略号的兼容性问题

CSS超出盒子显示省略号的兼容性问题

作者: 啊杜杜杜 | 来源:发表于2019-03-05 17:09 被阅读0次

    在页面布局中,经常会用到超出显示省略号的情况,但是,此处兼容性问题需要特别注意。因为样式失效会导致页面发生混乱。

    超出一行显示省略号(单行)

    单行的方法,此方法基本不存在兼容性问题
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    

    超出多行显示省略号(多行)

    多行的方法,此方法存在兼容性问题
    overflow:hidden;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:1;
    text-overflow:ellipsis;
    

      上面的-webkit-box-orient-webkit-line-clamp是一个不规范的属性。它没有出现在CSS规范章程草案中。但在webkit内核的浏览器中可以使用(如谷歌浏览器,大部分移动浏览器也支持)。但是像火狐、IE等浏览器就不支持,样式会失效。故需要做不同浏览器间的兼容性问题。

    利用JS进行兼容性处理。
      function wordlimit(cname,wordlength){  //参数分别为:类名,要显示的字符串长度
         var cname=document.getElementsByClassName(cname); //需要加省略符号的元素对象
         for(var i=0;i<cname.length;i++){
             var nowhtml=cname[i].innerHTML;    //元素的内容
             var nowlength=cname[i].innerHTML.length;     //元素文本的长度
             if(nowlength>wordlength){
                 cname[i].innerHTML=nowhtml.substr(0,wordlength)+'...';  //截取元素的文本的长度并加上省略号
             }
       }
    
    }
    
    wordlimit("sldiv",15);  //调用方法
    

    相关文章

      网友评论

          本文标题:CSS超出盒子显示省略号的兼容性问题

          本文链接:https://www.haomeiwen.com/subject/saeouqtx.html