css内容过长显示省略号的几种解决方法

 

    单行文本(方法一):
        语法:
            text-overflow : clip | ellipsis
        参数:
            clip :  不显示省略标记(...),而是简单的裁切   (clip这个参数是不常用的!)
            ellipsis :  当对象内文本溢出时显示省略标记(...)   
            说明:设置或检索是否使用一个省略标记(...)标示对象内文本的溢出。   
            最大的缺点:text-overflow:ellipsis属性在FF中是没有效果的。
            /* 内容过长显示成省略号(内容显示为一行) */
              white-space: nowrap;/*设置不换行*/
              overflow: hidden; /*设置隐藏*/
              text-overflow: ellipsis; /*设置隐藏部分为省略号*/
     

    多行文本(方法二):
    
        WebKit浏览器或移动端的页面:

        在WebKit浏览器或移动端(绝大部分是WebKit内核的浏览器)的页面实现比较简单,可以直接使用WebKit的css扩展属性(WebKit是私有属性)-webkit-line-clamp ;注意:这是一个 不规范的属性(unsupported WebKit property),它没有出现在 CSS 规范草案中。

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


         /* 内容过长显示两行,多余为省略号 */
           text-overflow:ellipsis;/*设置隐藏部分为省略号*/
           overflow: hidden;/*设置隐藏*/
           display: -webkit-box;
           -webkit-line-clamp: 2;/*设置显示行数,此处为2行,可设置其他数字*/
           -webkit-box-orient: vertical;

        这个属性比较合适WebKit浏览器或移动端(绝大部分是WebKit内核的)浏览器。 跨浏览器兼容的方案:
    
    第三种方法:
       比较靠谱简单的做法就是设置相对定位的容器高度,用包含省略号(…)的元素模拟实现;


      p {
          position:relative;
          line-height:1.4em;
          /* 3 times the line-height to show 3 lines */
          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;
     }

     

    注意:
    height高度真好是line-height的3倍;结束的省略好用了半透明的png做了减淡的效果,或者设置背景颜色;IE6-7不显示content内容,所以要兼容IE6-7可以是在内容中加入一个标签,比如用

    <span class="line-clamp">...</span>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值