关于CSS中text-overflow的使用问题

CSS文本溢出处理技巧
本文探讨了CSS中text-overflow属性的使用方法,特别是如何在多行文本中实现省略号效果。介绍了-webkit-line-clamp属性的使用场景及限制,并提供了具体的代码示例。

关于CSS中text-overflow的使用问题

  • text-overflow属性有三种值:
描述
clip单纯裁剪文本,与overflow:hidden效果一致
ellipsis以“…”来代表被裁剪的文本
string使用给定的字符串来代表被修剪的文本(只在Firefox 浏览器有效)

但需要注意的是,text-overflow若想达到预期的在溢出部分添加“…”省略,则必须与“white-space:nowrap”(将文本强制放于同一行)和“overflow:hidden”(溢出省略)一起使用。

	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;

这个属性在用于标题等一行显示的文本时非常好用,但若我们希望在多行文本中使用,它将不起作用。因此产生了一个新的问题:

如何在多行文本中达到text-overflow:ellipsis的效果

在查阅了一些资料得知,可以使用 -webkit-line-clamp 属性来达到预期效果。

首先需要声明的是,这个属性是一个不规范属性,它没有出现在 CSS 规范草案中,目前只有Safari、Chrome、Opera支持。

-webkit-line-clamp属性是用于限制一个块级元素所能显示的行数的,因此,这个属性只能用于块级元素中,若想实现行内元素的文本截取,可以通过js的 substring(start,end) + “…” 去实现。

再回到-webkit-line-clamp属性,它的值为数字,即你希望显示的行数。但若想令这个属性生效,还必须捆绑两个属性:display: -webkit-box(将对象作为弹性伸缩盒子模型显示)和-webkit-box-orient(设置盒子对象或其子元素的排列方式 值可为verticalhorizontal

	color: #333;
	font-size: 16px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;

效果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值