CSS多行文字截断
有时候容器的宽度是固定的,但要显示的文字有点多,就需要将多余的文字隐藏,而且为了表示还有字没有显示,用省略号表示。
类似这样:

单行文字
单行文字截断比较明显:
.truncate {
    width: 250px; /* or max-width */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
多行文字
多行文字截断就比较棘手,比如对于下面的代码段:
<div class="module"> <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p> </div>
我们想要的效果是这样:

显然,没那么容易。。。。
不过针对某些浏览器有一些怪异的实现:
Webkit核心浏览器
.line-clamp {
  display: -webkit-box;
  -webkit-line-clamp:;
  -webkit-box-orient: vertical;    overflow: hidden;
}
不过我们不知道为毛线必须是Flexbox,还是旧版本的。。。
最后一行淡出
.fade {
  position: relative;
  height: 3.6em; /* exactly three lines */
  width: 300px;
  overflow: hidden;
}
.fade:after {
  content: "";
  text-align: right;
  position: absolute;
  bottom:;
  right:;
  width: 70%;
  height: 1.2em;
  background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1) 50%);
}
假设你的段落里设置line-height:1.2em,那就把他的容器设置为3.6em,强制设置为3行。当然宽度和overflow还是要设置的。最后一行制造一种淡出的赶脚,让用户觉得这里还有内容。。

Clamp.js
最后还是JS来救火了,Clamp可以实现任意行的截断。
使用也很简单:
var module = document.getElementById("clamp-this-module");
$clamp(module, {clamp: 3});
写在后面:
多行截断操作性太差,感觉还不如直接计算下容易大概能容纳多少字,直接JS截断算了。
上文多行截断的资料主要摘自:
Line Clampin’ (Truncating Multiple Line Text)
CSS多行文字截断的更多相关文章
- CSS多行文字垂直居中的两种方法
		
之前写过一篇关于:CSS左右居中对齐的文章,里面提到的两种方法其实也可以引申为垂直居中对齐.写这篇文章是因为要兼容IE6.IE7的问题,我们都知道一行文字时可以通过line-height来设置垂直居中 ...
 - CSS多行文字超出隐藏加省略号
		
overflow: hidden; text-overflow:ellipsis; white-space: nowrap; 限制行数 overflow: hidden; text-overflow: ...
 - css 多行文字,超出部分隐藏,...代替
		
css虽然简单,但其实也是记得常用的那些,不常用的还是要搜一搜再写
 - CSS实现单行与多行文字省略(truncation)
		
在上一篇文章小div布局之卡片堆叠(card-stacking)中有多行文字溢出省略的效果,这篇文章就对这种效果(包括单行文字溢出省略)的实现做个简单的记录,以防自己忘记.具体来说,就是要实现这种文字 ...
 - div+css使多行文字垂直居中?
		
1.单行文字: 设置height = line-height; 多行文字: 设置 padding, 自己要计算一下? vertical-align: 可以设置垂直居中, 但是只是针对本身就具有 ali ...
 - 单行文字溢出和多行文字溢出省略号显示的CSS样式
		
单行文字溢出,CSS样式 <h6 style="width:70px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis ...
 - CSS实现多行文字限制显示
		
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...
 - css实现多行文字限制显示&编译失效解决方案
		
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name ...
 - css 一行或多行文字溢出以...的形式隐藏
		
一行文字溢出以...形式隐藏 我需要隐藏... css代码如下: white-space:nowrap; text-overflow:ellipsis; overflow:hidden; 多行文字溢出 ...
 
随机推荐
- UVA 10806 Dijkstra, Dijkstra.(费用流)
			
n个点的无向带权图,求1->n的最短往返路径,不走重复边. 这里涉及到一个知识点:求无向图上s->t的最短路,其实就是费用流. 而求1->n最短往返路径呢?增加源点s,由s到1加弧, ...
 - 初学XPath,其实很简单
			
XPath 是一门在 XML 文档中查找信息的语言.XPath 用于在 XML 文档中通过元素和属性进行导航. (我的理解:XPath 就是一个用来查找xml节点的路径语言,一个路径字符串语法) XM ...
 - IDF实验室-简单编程-特殊的日子 writeup
			
题目:http://ctf.idf.cn/index.php?g=game&m=article&a=index&id=50 题目提示要爆破,代表加密应该是不可逆的. 密文:4D ...
 - MySQL通过RPM安装
			
以前写过一篇文章,RedHat Linux 6.1 安装MySQL,本文是从解决依赖的角度上再次描述如何在Linux下以RPM包方式安装MySQL. [root@serv01 ~]# ls /iso/ ...
 - 【54】让自己熟悉包括TR1在内的标准程序库
			
1.C++0X,不确定哪一年出来,意指200X版的C++ 2.C++标准程序库的主要机能有:STL,iostreams,locals等. 3.TR1:Technical Report 1,只是一份规范 ...
 - [置顶] 用Wireshark保存RTP的负载码流
			
这段时间工作太忙,有些日子没写文章了,今天准备了一篇Wireshark工具的一个小功能,在验证码流的时候非常好用,闲话不说,直接说步骤: 1.打开Wireshark抓取流媒体码流,然后用RTP过滤: ...
 - 操作BLOB、CLOB、BFILE
			
BFILE 二进制文件,存储在数据库外的操作系统文件,只读的.把此文件当二进制处理. BLOB 二进制大对象.存储在数据库里的大对象,一般是图像声音等文件. CLOB ...
 - Android. Scrolling 2 listviews together
			
OK. What I'm trying to achieve is a layout that does the same effect as frozen panes in Excel. That ...
 - iOS开发——新特性OC篇&Objective新特性
			
Objective新特性 Overview 自 WWDC 2015 推出和开源 Swift 2.0 后,大家对 Swift 的热情又一次高涨起来,在羡慕创业公司的朋友们大谈 Swift 新特性的同时, ...
 - mysql-connector-python
			
wget http://cdn.mysql.com//Downloads/Connector-Python/mysql-connector-python-2.1.3.tar.gz tar mysql- ...