zoukankan      html  css  js  c++  java
  • -webkit-line-clamp 多行文字溢出...

    一、应用

    CSS代码:
    .box {
         100px; 
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    HTML代码:
    <div class="box">
        美国进口Culturelle康萃乐益生菌30片儿童水果味LGG益生菌咀嚼片
    </div>

    效果:

    美国进口Culturelle康萃乐
    益生菌30片儿童水果味LGG...
     

    二、理解

    注意:-webkit-line-clamp是webkit的私有属性,是一个 不规范的属性(unsupported WebKit property),它没有出现在 CSS 规范草案中。

            -webkit-line-clamp用来限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他的WebKit属性。常见结合属性:

             display: -webkit-box; 必须结合的属性 ,将对象作为弹性伸缩盒子模型显示 。

            -webkit-box-orient 必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 。

    三、兼容性

    这个属性 目前仅支持webkit浏览器,比较合适WebKit浏览器或移动端(移动端绝大部分是WebKit内核的浏览器)

    跨浏览器兼容的方案

    A:比较靠谱简单的做法就是设置相对定位的容器高度,用包含省略号(…)的元素模拟实现

    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(http://css88.b0.upaiyun.com/css88/2014/09/ellipsis_bg.png) repeat-y;
    
    }
    View Code 

    这里注意几点:

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

    结束的省略好用了半透明的png做了减淡的效果,或者设置背景颜色;

    IE6-7不显示content内容,所以要兼容IE6-7可以是在内容中加入一个标签,比如用<span class="line-clamp">...</span>去模拟;

    要支持IE8,需要将::after替换成:after;

    B:Javascript (插件)方案    

    用js也可以根据上面的思路去模拟,实现也很简单

    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


     
  • 相关阅读:
    WCF 第十三章 可编程站点 为站点创建操作
    WCF 第十三章 可编程站点 所有都与URI相关
    WCF 第十二章 对等网 使用自定义绑定实现消息定向
    WCF 第十三章 可编程站点 使用WebOperationContext
    Using App.Config for user defined runtime parameters
    WCF 第十三章 可编程站点
    WCF 第十三章 可编程站点 使用AJAX和JSON进行网页编程
    WCF 第十二章 总结
    WCF 第十三章 可编程站点 使用WebGet和WebInvoke
    WCF 第十三章 可编程站点 URI和UriTemplates
  • 原文地址:https://www.cnblogs.com/like-xcm/p/5849630.html
Copyright © 2011-2022 走看看