CSS文本溢出隱藏(兼容各瀏覽器)

css

以下都需要設(shè)置元素寬度

單行文本

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

多行文本

webkit疏日、ff或移動端(不兼容IE)

    overflow : hidden;
    text-overflow: ellipsis;
    /* 將對象作為彈性伸縮盒子模型顯示  */
    display: -webkit-box;
    /* 一個塊元素顯示的文本的行數(shù) */
    -webkit-line-clamp: 5;
    /* 設(shè)置或檢索伸縮盒對象的子元素的排列方式 */
    -webkit-box-orient: vertical;
打包后不生效的原因

-webkit-line-clamp: 3;在線上環(huán)境被注釋掉了
解決:將autoprefixer:false設(shè)置為false
webpack.prod.conf.js

new OptimizeCSSPlugin({
  cssProcessorOptions: config.build.productionSourceMap
    ? { safe: true, map: { inline: false }, autoprefixer:false }
    : { safe: true, autoprefixer:false }
}),

PC

方式一

這種方式手動實現(xiàn)一個省略號偿洁,但是可能實際并沒有超出也會出現(xiàn)省略號,可以根據(jù)顯示的高度來控制省略號顯示做優(yōu)化沟优。另外一個缺點就是有點丑涕滋。

.limit-ellipsis {
    position:relative;
    line-height:1.4em;
    /* 3 times the line-height to show 3 lines */
    height:4.2em;
    overflow:hidden;
}
.limit-ellipsis::after {
    content: "..."; 
    position: absolute; 
    bottom: 0; 
    right: 0; 
    padding-left: 40px;
    background: -webkit-linear-gradient(left, transparent, #fff 55%);
    background: -o-linear-gradient(right, transparent, #fff 55%);
    background: -moz-linear-gradient(right, transparent, #fff 55%);
    background: linear-gradient(to right, transparent, #fff 55%);
}

優(yōu)化

.limit-ellipsis {
    position:relative;
    line-height:1.4em;
    /* 3 times the line-height to show 3 lines */
    overflow:hidden;
}
.limit-ellipsis::after {
    content: "..."; 
    position: absolute; 
    bottom: 0; 
    right: 0; 
    padding-left: 40px;
    background: -webkit-linear-gradient(left, transparent, #fff 55%);
    background: -o-linear-gradient(right, transparent, #fff 55%);
    background: -moz-linear-gradient(right, transparent, #fff 55%);
    background: linear-gradient(to right, transparent, #fff 55%);
}
$(function(){
 //獲取文本的行高,并獲取文本的高度挠阁,假設(shè)我們規(guī)定的行數(shù)是五行宾肺,那么對超過行數(shù)的部分進行限制高度,并加上省略號
   $('p').each(function(i, obj){
        var lineHeight = parseInt($(this).css("line-height"));
        var height = parseInt($(this).height());
        if((height / lineHeight) >3 ){
            $(this).addClass("limit-ellipsis")
            $(this).css("height","4.2em");
        }else{
            $(this).removeClass("limit-ellipsis");
        }
    });
})
方式二

純Css方式實現(xiàn)侵俗,完美兼容锨用,推薦

<!DOCTYPE html><html><body>
<style>
/*
 * 行高 h
 * 最大行數(shù) n
 * ...省略號容器的寬 w
 * 字號 f
 */

.ellipsis {
    position: relative;
    max-height: 90px; /* h*n */
    line-height: 30px; /* h */
    padding-right: 14px; /* 將右側(cè)空出一段距離,讓省略號顯示出來隘谣,和下面對應(yīng) */
    overflow: hidden;
}
.ellipsis-container {
    position: relative;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; /* n */
    font-size: 50px; /* w */
    color: transparent;
    text-align:justify; /* 讓文字兩端對齊增拥,顯示更好看 */
}
.ellipsis-content {
    color: #000; /* 文字顏色 */
    display: inline-block;
    vertical-align: top;
    font-size: 22px; /* f */
}
.ellipsis-ghost {
    position:absolute;
    z-index: 1;
    top: 0;
    left: 50%;
    width: 100%;
    height: 100%;
}
.ellipsis-ghost:before {
    content: "";
    display: block;
    float: right;
    width: 50%;
    height: 100%;
}
.ellipsis-placeholder {
    content: "";
    display: block;
    float: right;
    width: 50%;
    height: 90px; /* h*n */
}
.ellipsis-more {
    float: right;
    font-size: 22px; /* f */
    width: 50px; /* w */
    height: 30px; /* h */
    margin-top: -30px; /* -h */
    color: #999999; /* 省略號顏色 */
    position: relative;
    left: 14px; /* 視情況調(diào)節(jié)顯示,和上面對應(yīng) */
    text-align: right; 
}
</style>
<div class="ellipsis">
    <div class="ellipsis-container">
        <div class="ellipsis-content">內(nèi)容</div>
        <div class="ellipsis-ghost">
            <div class="ellipsis-placeholder"></div>
            <div class="ellipsis-more">...</div>
        </div>
    </div>
</div>   
</body></html>

通過限制字?jǐn)?shù)來實現(xiàn)

js
let content = '內(nèi)容'
if (content .length > 50) {
  content = content.substring(0, 50)
  content += '...'
}
jQuery
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script>
    $(function(){
        $('.jq').each(function(){
            var maxwidth=36;
            if($(this).text().length>maxwidth){
                $(this).text($(this).text().substring(0,maxwidth));
                $(this).html($(this).html()+'...');
            }
        });
    })
</script>

網(wǎng)站導(dǎo)航

網(wǎng)站導(dǎo)航

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末寻歧,一起剝皮案震驚了整個濱河市掌栅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌码泛,老刑警劉巖猾封,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異噪珊,居然都是意外死亡忘衍,警方通過查閱死者的電腦和手機逾苫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來枚钓,“玉大人,你說我怎么就攤上這事瑟押〔蠼荩” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵多望,是天一觀的道長嫩舟。 經(jīng)常有香客問我,道長怀偷,這世上最難降的妖魔是什么家厌? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮椎工,結(jié)果婚禮上饭于,老公的妹妹穿的比我還像新娘。我一直安慰自己维蒙,他們只是感情好掰吕,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著颅痊,像睡著了一般殖熟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上斑响,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天菱属,我揣著相機與錄音,去河邊找鬼舰罚。 笑死纽门,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的沸停。 我是一名探鬼主播膜毁,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼愤钾!你這毒婦竟也來了瘟滨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤能颁,失蹤者是張志新(化名)和其女友劉穎杂瘸,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體伙菊,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡败玉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年敌土,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片运翼。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡返干,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出血淌,到底是詐尸還是另有隱情矩欠,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布悠夯,位于F島的核電站癌淮,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏沦补。R本人自食惡果不足惜乳蓄,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望夕膀。 院中可真熱鬧虚倒,春花似錦、人聲如沸店诗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽庞瘸。三九已至捧弃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間擦囊,已是汗流浹背违霞。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瞬场,地道東北人买鸽。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像贯被,于是被迫代替她去往敵國和親眼五。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容