单行文本
p {
width: 100px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
多行文本 -webkit-box
div {
width: 100px;
}
p {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
多行文本 js
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>多行文本</title>
</head>
<body>
<div
id="view"
style="border: 1px solid red; width: 200px; height: 60px; overflow: auto"
></div>
</body>
<script>
let s =
"这是一个文本这是一个文本这是一个文本这是一个文本这是一个文本这是一个文本";
let el = document.getElementById("view");
let n = el.offsetHeight;
for (i = 0; i <= s.length; i++) {
el.innerHTML = s.substr(0, i);
if (n < el.scrollHeight) {
el.style.overflow = "hidden";
el.innerHTML = s.substr(0, i - 3) + "...";
break;
}
}
</script>
</html>
多行文本 position
p {
width: 100px;
position: relative;
line-height: 1.5em;
height: 3em;
overflow: hidden;
}
p:after {
content: "...";
position: absolute;
bottom: 0;
right: 0;
background-color: #fff;
}