多行文本溢出顯示省略號(hào)(…)

大家都知道用text-overflow:ellipsis屬性來(lái)實(shí)現(xiàn)單行文本的溢出顯示省略號(hào)(…)。當(dāng)然部分瀏覽器還需要加寬度width屬性。

    p {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

但是這個(gè)屬性并不支持多行文本溢出顯示省略號(hào);

1、 WebKit瀏覽器或移動(dòng)端的頁(yè)面

在WebKit瀏覽器或移動(dòng)端(絕大部分是WebKit內(nèi)核的瀏覽器)的頁(yè)面實(shí)現(xiàn)比較簡(jiǎn)單,可以直接使用WebKit的CSS擴(kuò)展屬性(WebKit是私有屬性)-webkit-line-clamp ;注意:這是一個(gè) 不規(guī)范的屬性。

  1. display: -webkit-box; 必須結(jié)合的屬性 ,將對(duì)象作為彈性伸縮盒子模型顯示 。
  2. -webkit-box-orient 必須結(jié)合的屬性 ,設(shè)置或檢索伸縮盒對(duì)象的子元素的排列方式 。
  3. text-overflow: ellipsis;,可以用來(lái)多行文本的情況下,用省略號(hào)“…”隱藏超出范圍的文本 。
    p {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    }
    這個(gè)屬性比較合適WebKit瀏覽器或移動(dòng)端(絕大部分是WebKit內(nèi)核的)瀏覽器。

2、設(shè)置相對(duì)定位的容器高度,用包含省略號(hào)(…)的元素模擬實(shí)現(xiàn);

    p {
        width: 200px;
        position: relative;
        line-height: 1.4em;
        height: 2.8em;
        overflow: hidden;
    }
    p::after {
        content: "...";
        font-weight: bold;
        position: absolute;
        bottom: 0;
        right: 0;
        padding: 0 20px 1px 45px;
        background: url(http://css88.b0.upaiyun.com/css88/2014/09/ellipsis_bg.png) repeat-y;
    }

這里注意幾點(diǎn):

2.1height高度真好是line-height的倍數(shù);

2.2結(jié)束的省略好用了半透明的png做了減淡的效果,或者設(shè)置背景顏色;

2.3IE6-7不顯示content內(nèi)容,所以要兼容IE6-7可以是在內(nèi)容中加入一個(gè)標(biāo)簽,比如用<span class="line-clamp">...</span>去模擬;

2.4要支持IE8,需要將::after替換成:after;

3、.jQuery插件-jQuery.dotdotdot

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容