css+js实现文本超出规定行数就省略,并且加显示全部按钮

206 阅读1分钟

实现原理:文本超出用省略号代替后,好像是有滚动条高度的,通过滚动条高度与原本高度对比即可实现。

<div id="text">文本内容</div><span>显示全部</span>

    var height=$('#text').outerHeight()
    var scrollHeight=$('#text')[0].scrollHeight()
    if(scrollHeight>height){
        $('span').css('display','inline-block')
    }else{
        $('span').css('display','none')
    }
    #text{
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }
    span{
        display:none;
    }