当文本是单行时,方法如下:

       .p {
             height: 40px;
             line-height: 40px;
             box-sizing: border-box;
             /* 单行显示省略号 */
             overflow: hidden;
             text-overflow: ellipsis;
             white-space: nowrap;
        }

当多行文本时可以使用-webkit-box属性,方法如下

        .p1{
            height: 60px;
            line-height: 30px;
            overflow: hidden;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
        }

如果浏览器不支持webkit属性可以使用定位遮盖来实现,方法如下:

        .p2{
            height: 60px;
            line-height: 30px;
            overflow: hidden;
            position: relative;

        }
        .p2::after{
            content: "......";
            width: 24px;
            position: absolute;
            height: 30px;
            bottom: 0;
            right: 0;
            background-color: #fff;
        }

html代码:

<style>
.box{
    width:200px;
}
<style>
<div class="box">
    <div class="p">这是多行居左的文本。这是多行居左的文本。这是多行居左的文本。</div>
    <div class="p1">这是多行居左的文本。这是多行居左的文本。这是多行居左的文本。</div>
    <div class="p2">这是多行居左的文本。这是多行居左的文本。这是多行居左的文本。</div>
</div>

效果图如下

word-break: break-all; 只对英文起作用,以字母作为换行依据。

word-wrap: break-word; 只对英文起作用,以单词作为换行依据。

white-space: pre-wrap; 只对中文起作用,强制换行。

white-space:nowrap; overflow:hidden; text-overflow:ellipsis;

white-space:nowrap; 禁止换行。

overflow:hidden; 是让多出的内容隐藏起来,否则多出的内容会撑破容器。

text-overflow:ellipsis; 让多出的内容以省略号…来显示。主要用于IE等浏览器,Opera浏览器用-o-text-overflow:ellipsis; 而Firefox浏览器没有这个功能,只能隐藏起来。

作者 dairubin

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注