單行和多行的文本省略,并用省略號(hào)代替

單行文本省略:

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

  white-space:nowrap;    //強(qiáng)制不換行

  text-overflow:ellipsis    //省略號(hào)

};
image.gif

寫在css里,很簡單的三行代碼,但是注意,必須為父元素設(shè)置寬度,當(dāng)然也必須得是塊元素了。

多行文本省略,若使用上面的方法,只會(huì)顯示第一行的文本,后面的全部省略,與期望不符,比對(duì)多種方法后,推薦用JavaScript進(jìn)行設(shè)置,具體代碼如下:

<div id='text'>
    /* 多行文本內(nèi)容 */
</div>
<script type="text/javascript">
    function textHide(num,con){    //定義函數(shù)
        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');    //調(diào)用函數(shù)
</script>
image.gif

參數(shù)1(num)是允許最大文字?jǐn)?shù)目,參數(shù)2(con)是元素節(jié)點(diǎn)的id名稱

原理:

  1. 根據(jù)節(jié)點(diǎn)id,獲取文本的全部內(nèi)容
  2. 比較文本的長度(txt.length)和目標(biāo)長度(num)之間的大小
  3. 若超出目標(biāo)長度,截取目標(biāo)長度的內(nèi)容(subtring方法),并在后面拼接“...”字符串,替換當(dāng)前文本內(nèi)容

當(dāng)然,還是要塊元素,并設(shè)置寬和高。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容