<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="js/jquery.min.js"></script>
<style>
.news-txt p {
width: 100px;
word-break: break-all;
line-height: 19px;
}
</style>
</head>
<body>
<div class="news-txt">
<p>发就开始放假啊时间的话飞机撒打发卡合计收到回复束带结发回家撒等哈飞机萨达合计粉红色大家啊很费劲啊三打哈飞机三打哈就发哈手机金黄色的接化发收款方哈萨</p>
</div>
<script>
function overflow() {
var dom = document.querySelector('.news-txt p');
console.log(dom.innerText);
var text = dom.innerText;
for (var i = 0; i < text.length; i++) {
var stext = text.substring(0, i + 1);
dom.innerText = stext;
var width = dom.offsetHeight;
if (width > 38) { // 默认行高设置的是19,这里代表超出两行就省略
stext = text.substring(0, i - 3) + '...';
dom.innerText = stext;
dom.setAttribute('title', text);
break;
}
}
}
overflow()
</script>
</body>
</html>
效果图:
注:
鼠标触碰显示全部内容是通过给title属性赋值实现的;
需要设置宽度,高度一定不能设置;
line-height: 19px,word-break: break-all属性是必要的,行高可以自行设置大小;
p标签不是必要的,可以删掉,删掉后相应的css和js需要同步修改;