Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
2.9k views
in Technique[技术] by (71.8m points)

多余文字查看更多 怎么实现 移动端

image
求思路

通过js处理截取文字,怎么去判断 文字截取到哪


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

最大的问题是如何让最后一行的文字和「查看更多」刚好排满一整行。
一个思路:

  1. 先把元素里的文字清空,留下「...」和「查看更多」
  2. 遍历需要裁剪的文字,把文字一个个的放进元素
  3. 检查元素高度,当元素高度变化了,就说明换行了
  4. 当第三次换行,说明已经到第四行了,这时就删除最后一个文字,停止遍历

配合 text-align: justify,就留下了刚好三行的文字。
这个方法可以适配不同的字型,但是性能会比较差


楼上的 -webkit-line-clamp: 3 是标准做法,但是不适配最后有「查看更多」的情况,而且兼容性稍差。
倒是可以设置 text-overflow: '... 查看更多',这样文字倒是完美裁剪了,但是样式和可点击区域怎么搞没想到


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...