浅谈移动端过长文本溢出显示省略号的实现方案
本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/39NCyZvm8EYiJ-pEEtjxGw 作者:何彦军 目前在移动端开发的展示界面中,如果一段文本的数量过长,受限于屏幕的宽高等因素,有可能不能完全显示,这个时候就会把溢出的文本显示成省略号。 最近就亲身经历了一系列类似的需求,于是这里做个总结和记录。 首先一个最基本的需求就是当文本超过一行最大宽度时,超出的部分变为省略号,如下图所示。 这个功能比较基础,只用css就可以实现,如下图所示代码块。 可是有时候产品同学希望显示的文本可以再多一点,于是就有了多行文本溢出显示省略号的需求,如下图所示。 这个功能也可以通过css实现,如下图代码块所示。 这里用到了webkit的css扩展属性,因此适用于webkit浏览器及移动端,并且在兼容性方面也有些影响,但是只要不是特别老旧的机器,还是完全能够支持的。 在支持了多行文本溢出显示省略号的功能之后,产品同学又发现了体验不友好的点,如下图所示。文本在第二行开头处就结束了,这就导致第二行大部分是空白的,影响了美观度。 因此,产品同学提出了一个新需求: 当文本没有超过第x行的一半时,则按第x-1行溢出显示省略号的方式展示;(第1行除外) 当文本超过第x行的一半但没有超过第x行时,则正常展示; 当文本超过第x行时