自定義多行文本溢出方案

1.單行文本溢出點點點

單行文本溢出是最多見的一種形式,使用text-overflow的ellipsis便可實現點點點,overflow屬性也不可少,同時不能讓容器換行,不然不會出現點點點css

clipboard.png

.ellipsis {
   width: 300px;
   white-space: nowrap;
   text-overflow: ellipsis;
   overflow: hidden;
}

2.多行文本溢出點點點

隨着內容的增多,單行文本不夠用了,多行文本纔是用的最多的地方。四個屬性缺一不可,最重要的是-webkit-line-clamp,直接定義了要顯示的行數,html

clipboard.png

.ellipsis {
    width: 300px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; /* 自定義的行數 */
    overflow: hidden;
}

3.多行文本溢出自定義

點點點是最多見的溢出省略方式,可是21世紀的設計師已經不知足使用點點點的方式來實現省略了,他們還須要在尾部顯示更多按鈕,點擊以後顯示所有內容。這個時候就須要想辦法了,下面的終極方案實在是精彩,請移步這裏,聆聽大神講解,css3

clipboard.png

//dom結構
<div class="ellipsis">
    <div class="ellipsis-container">
        <div class="ellipsis-content">騰訊成立於1998年11月,是目前中國領先的互聯網增值服務提供商之一。成立10多年來,騰訊一直秉承「一切以用戶價值爲依歸」的經營理念,爲億級海量用戶提供穩定優質的各種服務,始終處於穩健發展狀態。2004年6月16日,騰訊控股有限公司在香港聯交所主板公開上市(股票代號700)。</div>
        <div class="ellipsis-ghost">
            <div class="ellipsis-placeholder"></div>
            <div class="ellipsis-more">...更多</div>
        </div>
    </div>
</div>
.ellipsis {
    position: relative;
    width: 100%;
    max-height: 55px; /* h*n */
    line-height: 18px; /* h */
    overflow: hidden;
    width: 300px
}
.ellipsis-container {
    position: relative;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; /* n */
    font-size: 50px; /* w */
    color: transparent;
}
.ellipsis-content {
    color: #000;
    display: inline;
    vertical-align: top;
    font-size: 16px; /* f */
}
.ellipsis-ghost {
    position:absolute;
    z-index: 1;
    top: 0;
    left: 50%;
    width: 100%;
    height: 100%;
    color: #000;
}
.ellipsis-ghost:before {
    content: "";
    display: block;
    float: right;
    width: 50%;
    height: 100%;
}
.ellipsis-placeholder {
    content: "";
    display: block;
    float: right;
    width: 50%;
    height: 55px; /* h*n */
}
.ellipsis-more {
    position: relative;
    float: right;
    font-size: 16px; /* f */
    width: 50px; /* w */
    height: 18px; /* h */
    margin-top: -18px; /* -h */
    color: red
}

參考:http://hai.li/2017/03/08/css-...
參考:css3 box屬性web

相關文章
相關標籤/搜索