纯css实现多行文本截断

字数 227阅读 3302
  overflow : hidden;
  /*text-overflow: ellipsis;  有些示例里需要定义该属性,实际可省略*/
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;

概述

-webkit-line-clamp是一个不规范的属性(unsupported WebKit property),它没有出现在 CSS 规范草案中。
限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他外来的WebKit属性。常见结合属性:
display: -webkit-box;
必须结合的属性,将对象作为弹性伸缩盒子模型显示 。
-webkit-box-orient
必须结合的属性,设置或检索伸缩盒对象的子元素的排列方式 。
text-overflow,可以用来多行文本的情况下,用省略号“...”隐藏超出范围的文本 。

兼容性

示例

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    <style>
      .box { 
          width: 400px; 
          display: -webkit-box; 
          -webkit-line-clamp: 3; 
          -webkit-box-orient: vertical; overflow: hidden;
      }
    </style>
</head>

<body>
<div class="box">
【大众点评与美团网合并 王兴张涛担任联席CEO】大众点评网与美团网今天联合发布声明,宣布达成战略合作,双方已共同成立一家新公司。新公司将实施Co-CEO制度,美团CEO王兴和大众点评CEO张涛将同时担任联席CEO和联席董事长,重大决策将在联席CEO和董事会层面完成。
</div>
</body>
</html>

参考

-webkit-line-clamp
-webkit-line-clamp下多行文字溢出点点点...
关于文字内容溢出用点点点(…)省略号表示
多行文本截断并出现省略号 纯CSS解决方案

推荐阅读更多精彩内容