文本多行溢出显示…之最后一行不到行尾的解决

css3

浏览数:835

2018-11-29

多行文本溢出,但是最后一行木有到结尾,如下图这种例子

解决代码示例
html:

    <div class="model_content">
        <p class="model_text">
            元素的“格式化首行”可能会存在于相同流下的块级子元素上元素的“格式化首行”可能会存在于相同流下的块级子元素上。元素的“格式化首行”可能会存在于相同流下的块级子元素上元素的“格式化首行”可能会存在于相同流下的块级子元素上元素的“格式化首行”可能会存在于相同流下的块级子元素上。元素的“格式化首行”可能会存在于相同流下的块级子元素上元素的“格式化首行”可能会存在于相同流下的块级子元素上元素的“格式化首行”可能会存在于相同流下的块级子元素上元素的“格式化首行”可能会存在于相同流下的块级子元素上能会存在于相同流下的块级子元素上。元素的“格式化首行”可能会存在于相同流下的块级子元素上元素的“格式化首行”可能会存在于相同流下的块级子元素上元素的“格式化首行”可能会存在于相同流下的块级子元素上元素的“格式化首行”可能会存在于相同流下的块级子元素上
        </p>
        <span class="model_detail">...<span class="more_detail">更多详情</span></span>
    </div>

css:

        * {
            margin: 0;
            padding: 0;
        }

        .model_content {
            padding: 0 30px;
            position: relative;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
        }

        .model_text {
            font-size: 14px;
            color: #657180;
            text-align: justify;
            line-height: 24px;
        }

        .model_detail {
            width: 5em;
            position: absolute;
            right: 30px;
            bottom: 0;
            background: #fff;
            font-size: 14px;
            color: #657180;
        }

        .more_detail {
            position: absolute;
            right: 0;
            color: #4876f1;
            margin-left: 5px;
        }
    </style>

效果:

总结:

将…拼在后面,宽度以em(基于父元素font-size)为单位,相当于遮住底下的文字内容而模拟这种效果,以em为单位的目的是防止遮住字不是整数个,希望以整字倍数为宽。

还有其他方法么?

原文地址:https://segmentfault.com/a/1190000017177923