CSS控制文字,超出部分显示省略号

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CSS控制⽂字,超出部分显⽰省略号
<p style="width: 300px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">
如果实现单⾏⽂本的溢出显⽰省略号同学们应该都知道⽤text-overflow:ellipsis属性来,当然还需要加宽度width属来兼容部分浏览。

实现⽅法:
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
效果如图:
dome1
但是这个属性只⽀持单⾏⽂本的溢出显⽰省略号,如果我们要实现多⾏⽂本溢出显⽰省略号呢。

接下来重点说⼀说多⾏⽂本溢出显⽰省略号,如下。

实现⽅法:
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
效果如图:
dome2
适⽤范围:
因使⽤了WebKit的CSS扩展属性,该⽅法适⽤于WebKit浏览器及移动端;
注:
1. -webkit-line-clamp⽤来限制在⼀个块元素显⽰的⽂本的⾏数。

为了实现该效果,它需要组合其他的WebKit属性。

常见结合属性:
2. display: -webkit-box; 必须结合的属性,将对象作为弹性伸缩盒⼦模型显⽰。

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

实现⽅法:
p{position: relative; line-height: 20px; max-height: 40px;overflow: hidden;}
p::after{content: "..."; position: absolute; bottom: 0; right: 0; padding-left: 40px;
background: -webkit-linear-gradient(left, transparent, #fff 55%);
background: -o-linear-gradient(right, transparent, #fff 55%);
background: -moz-linear-gradient(right, transparent, #fff 55%);
background: linear-gradient(to right, transparent, #fff 55%);
}
效果如图:
dome3
适⽤范围:
该⽅法适⽤范围⼴,但⽂字未超出⾏的情况下也会出现省略号,可结合js优化该⽅法。

注:
1. 将height设置为line-height的整数倍,防⽌超出的⽂字露出。

2. 给p::after添加渐变背景可避免⽂字只显⽰⼀半。

3. 由于ie6-7不显⽰content内容,所以要添加标签兼容ie6-7(如:<span>…<span/>);兼容ie8需要将::after替换成:after。

相关文档
最新文档