文本溢出的解决方案

单行文本溢出

text-overflow属性:clip,ellipsis,string
常用text-overflow:ellipsis省略号

.textOverflow{
        width: 200px;
        text-overflow: ellipsis;/*多余文本省略号代替*/
        overflow: hidden;/*多余部分隐藏*/
        white-space: nowrap;/*禁止换行*/
    }

多行文本溢出

.textOverflow{
        width: 200px;
        overflow : hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;/*行数n*/
        -webkit-box-orient: vertical;
    }

还有其他方法

2018/01/08 更新
需要做到兼容(PC端Chrome,FF,UC,Edge,IE等)

.feedTxtAfter::after {
        content: "..."; 
        position: absolute; 
        bottom: 0; 
        right: 0; 
        padding-left: 15px;
        padding-right: 3px;
        padding-bottom: 3px;
        background: -webkit-linear-gradient(left, transparent, #f8f8f8 55%);
        background: -o-linear-gradient(right, transparent, #f8f8f8 55%);
        background: -moz-linear-gradient(right, transparent, #f8f8f8 55%);
        background: linear-gradient(to right, transparent, #f8f8f8 55%);
    }

利用CSS的渐变属性和伪类after的content属性,与父元素进行相对绝对定位,添加省略号

在JS中,用固定行数的内容元素的高度来获取是否超出行数:

if ($('.feedTxt').length) {
        var _feedTxt = $('.feedTxt');
        for (var i = 0; i < _feedTxt.length; i++) {
            if ($(_feedTxt[i]).height() == '72') {
                $(_feedTxt[i]).addClass('feedTxtAfter');
            }
        }
    }

你可能感兴趣的:(文本溢出的解决方案)