div超出多行显示时用省略号代替,鼠标触碰显示完整的内容

<!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需要同步修改;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值