99资源 在线视频|美女人妻自慰淫叫|日韩欧美乱伦电影|超碰按摩国产超碰|av全球免费不卡|加勒比无码一区人妻|国产高清一区视频高清|一区二区三区精品伊人|无码加勒比人妻高清|久草中文在线一区蜜乳

-webkit-line-clamp 多行文字溢出...

2016/9/23 8:46:31   閱讀:1941    發(fā)布者:1941

一、應(yīng)用

CSS代碼:
.box { 
    width: 100px;  
    display: -webkit-box; 
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical; 
    overflow: hidden; 
}
HTML代碼:
<div class="box"> 
    美國進(jìn)口Culturelle康萃樂益生菌30片兒童水果味LGG益生菌咀嚼片 
</div>

效果:

美國進(jìn)口Culturelle康萃樂 
益生菌30片兒童水果味LGG...
 

二、理解

注意:-webkit-line-clamp是webkit的私有屬性,是一個 不規(guī)范的屬性(unsupported WebKit property),
它沒有出現(xiàn)在 CSS 規(guī)范草案中。

        -webkit-line-clamp用來限制在一個塊元素顯示的文本的行數(shù)。 為了實現(xiàn)該效果,
它需要組合其他的WebKit屬性。常見結(jié)合屬性:

         display: -webkit-box; 必須結(jié)合的屬性 ,將對象作為彈性伸縮盒子模型顯示 。

        -webkit-box-orient 必須結(jié)合的屬性 ,設(shè)置或檢索伸縮盒對象的子元素的排列方式 。

 

三、兼容性

這個屬性 目前僅支持webkit瀏覽器,比較合適WebKit瀏覽器或移動端
(移動端絕大部分是WebKit內(nèi)核的瀏覽器)

跨瀏覽器兼容的方案

A:比較靠譜簡單的做法就是設(shè)置相對定位的容器高度,用包含省略號(…)的元素模擬實現(xiàn)

p { 

  position: relative; 

  line-height: 1.4em; 

  height: 4.2em; 

  overflow: hidden; 

} 

p::after { 

  content: "..."; 

  font-weight: bold; 

  position: absolute; 

  bottom: 0; 

  right: 0; 

  padding: 0 20px 1px 45px; 

  background: url(images/ellipsis_bg.png) repeat-y; 

}
View Code 

這里注意幾點:

height高度正好是line-height的3倍;

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

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

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

 

B:Javascript (插件)方案    

用js也可以根據(jù)上面的思路去模擬,實現(xiàn)也很簡單

1.clamp.js   使用也非常簡單:

var module = document.getElementById("clamp-this-module"); 

$clamp(module, {clamp: 2});

 

2.jQuery插件-jQuery.dotdotdot   這個使用起來也很方便:
$(function(){ 
  $("wrapper").dotdotdot({ 
    // configuration goes here 
  }); 
});


延伸:單行文本溢出顯示省略號...代碼

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