html 文本溢出解决方案

下面附两种解决多行文本溢出的方案

    $('.fig').each(function (i) {
        var divH = $(this).height();
        var $p = $('p', $(this)).eq(0);
        while ($p.outerHeight() > divH) {
            $p.text($p.text().replace(/(\s)*([a-zA-Z0-9]|\W)(\.\.\.)?$/, "..."))
        }

    });

    //这种方式不如第一种好~
    var Overflow = (function () {

        function _text() {
            this.ele = arguments[0];
        }

        _text.prototype = {
            //根据字体大小 行高 求出 clamp
            deal: function () {
                var height = parseInt($('#pp').css('height'));
                var lineHeight = this.ele.css('line-height');
                var fontSize = this.ele.css('fontSize');
                var num = (height / (parseInt(fontSize) + (parseInt(lineHeight) - parseInt(fontSize)))).toString();
                alert(num);
                this.ele.css('-webkit-line-clamp', function () {
                    return num.indexOf('.') > 0?num.substring(0, num.indexOf('.')):num;
                });

            }
        };

        return _text;

    })();


    new Overflow($('#pp')).deal();
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值