;一个文本溢出省略号的js方法,无论内容是什么
strSub(v){
let str = v; //
// str = str.length > 100 ? str.slice(0, 100) : str;
let count = 0;
var p = document.createElement("p");
//添加一个标签和要显示的标签的所有样式一样;
p.style= 'word-break: break-all;'
p.innerHTML = str;
var div = document.createElement("div");
div.style.position = "absolute";
div.style.left = "-10000px";
div.appendChild(p);
document.body.appendChild(div);
if(p.offsetHeight>220){
while(p.offsetHeight>220){
count++;
p.innerHTML = str.substring(0,str.length-count);
}
str = str.substring(0,str.length-count-2)+"...";
}
document.body.removeChild(div);/
return str;
}
==============================================================`
思路:假设要求一个盒子指定行数溢出,内容可能有各种东西,首先确保数字和字母可以正常换行word-break: break-all;画一个和页面显示一样的盒子,监控盒子的高度,js添加的盒子高度超出了页面显示盒子的高度就循环减掉字符串的长度,一直到高度不超过为止