CSS:文本溢出省略号如果大于两行,是否可能?

时间:2014-05-09 14:58:33

标签: css3

我有一个300px宽度和20px高度的div,文本随机变化。我只想在溢出2行时显示省略号,否则只使用CSS。

http://jsfiddle.net/7BXtr/272/

HTML:

<div id="container">
            <div class="box">

        <div class="text-body">
            <div class="text-inner">This is the text description of the item.
                It can flow onto more than 2 lines, too,
                if there is room for it, but otherwise
                should only show 1 line.
            </div>
        </div>
    </div>
</div>

CSS:

#container {
    width: 104px;
}
.box {

    max-height: 40px;
    overflow: hidden;

    border: solid 1px red;
    position: relative;
}
.box:after {
    content: '...';
    position: absolute;
    left: 84px;
    bottom: 0;
}
.text-body {
    position: relative;
}
.text-body:before {
    content: '';
    position: absolute;
    left: 80px;
    top: 14px;
    width: 12px;
    height: 2px;
    background: white;
}
.text-inner {
    width: 90px;
    padding-right: 10px;
}

1 个答案:

答案 0 :(得分:3)

对于Webkit,您可以使用大于一行的文本溢出省略号,但其他供应商尚不支持

这是一个包含三行文字和椭圆example的示例:

.three-line-block {
    line-height: 15px; //for not webkit browser
    max-height: 45px; //for not webkit browser
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}