單行文本省略:
{
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名稱
原理:
- 根據(jù)節(jié)點(diǎn)id,獲取文本的全部內(nèi)容
- 比較文本的長度(txt.length)和目標(biāo)長度(num)之間的大小
- 若超出目標(biāo)長度,截取目標(biāo)長度的內(nèi)容(subtring方法),并在后面拼接“...”字符串,替換當(dāng)前文本內(nèi)容
當(dāng)然,還是要塊元素,并設(shè)置寬和高。