资讯专栏INFORMATION COLUMN

纯CSS实现文字超过n行后省略功能

yeyan1996 / 3144人阅读

摘要:在切图阶段,经常会遇到,设计稿要求超出行后剩余文字省略,并用代替的需求。滟滟随波千万里,何处春江无月明多行文字限制字数,并将多出字符用代替春江潮水连海平,海上明月共潮生。

在切图阶段,经常会遇到,设计稿要求超出n行后剩余文字省略,并用...代替的需求。类似于下图

单行文字

单行文字时实现比较容易,使用overflow: hiddentext-overflow: ellipsis即可,其中ellipsis即省略号的意思,使用width: 10em限制横向字符数量。

多行文字

多行文字主要使用的CSS属性如下:

</>复制代码

  1. overflow: hidden;
  2. text-overflow: ellipsis;
  3. display:-webkit-box;
  4. display:box;
  5. -webkit-line-clamp: 2;
  6. -webkit-box-orient: vertical;

其中,clamp即夹子的意思,也就是说限制两行,把内容从中间夹住。box-orient属性设置盒子的摆放方向。有点类似于flexbox中的row & coloum

demo

链接https://jsbin.com/gugekes/edi...

其中,HTML为

</>复制代码

  1. <span class="hljs-attr">JS</span> <span class="hljs-string">Bin</span>
  2. demo1:单行文字限制字数,并将多出字符用“...”代替

  3. 春江潮水连海平,
  4. 海上明月共潮生。
  5. 滟滟随波千万里,
  6. 何处春江无月明!
  7. demo2:多行文字限制字数,并将多出字符用“...”代替

  8. 春江潮水连海平,
  9. 海上明月共潮生。
  10. 滟滟随波千万里,
  11. 何处春江无月明!
  12. 江流宛转绕芳甸,
  13. 月照花林皆似霰;
  14. 空里流霜不觉飞,
  15. 汀上白沙看不见。
  16. 江天一色无纤尘,
  17. 皎皎空中孤月轮。
  18. 江畔何人初见月?
  19. 江月何年初照人?
  20. 人生代代无穷已,
  21. 江月年年望相似。
  22. 不知江月待何人,
  23. 但见长江送流水。
  24. 白云一片去悠悠,
  25. 青枫浦上不胜愁。  
  26. 谁家今夜扁舟子?
  27. 何处相思明月楼?
  28. 可怜楼上月徘徊,
  29. 应照离人妆镜台。
  30. 玉户帘中卷不去,
  31. 捣衣砧上指还来。
  32. 此时相望不相闻,
  33. 愿逐月华流照君。
  34. 鸿雁长飞光不度,
  35. 鱼龙潜跃水成文。
  36. 昨夜闲潭梦落花

CSS为

</>复制代码

  1. .demo1 {
  2. width: 10em;
  3. border: 1px solid red;
  4. white-space:nowrap;
  5. overflow: hidden;
  6. text-overflow:ellipsis;
  7. }
  8. .demo2 {
  9. border: 1px solid red;
  10. overflow: hidden;
  11. text-overflow: ellipsis;
  12. display:-webkit-box;
  13. display:box;
  14. -webkit-line-clamp: 2;
  15. -webkit-box-orient: vertical;
  16. }

实现的效果

[update]
Firefox有兼容性问题,不过可以通过设置max-heightoverflow: hidden;来达到超出隐藏效果,只是没有省略号了。算是弥补兼容问题吧。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/115515.html

相关文章

  • css使文字显示两行后显示省略

    摘要:本人喜欢把一些实用的东东拿过来,写成文章或者收藏起来。于是乎直接上代码狠狠的点击,查看效果吧 本人喜欢把一些实用的东东拿过来,写成文章或者收藏起来。于是乎... 直接上代码: .article { color: #000000; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; ...

    BlackMass 评论0 收藏0
  • css使文字显示两行后显示省略

    摘要:本人喜欢把一些实用的东东拿过来,写成文章或者收藏起来。于是乎直接上代码狠狠的点击,查看效果吧 本人喜欢把一些实用的东东拿过来,写成文章或者收藏起来。于是乎... 直接上代码: .article { color: #000000; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; ...

    chuyao 评论0 收藏0
  • 实现文字省略

    摘要:允许内容顶开指定的容器边界内容将在边界内换行。如果需要,词内换行也会发生正在努力学习中,若对你的学习有帮助,留下你的印记呗点个赞咯往期好文推荐判断和及端打包有面试题纯实现瀑布流多列及布局 在项目中有涉及实现一行或者第几行后加省略号,在实现第几行后加省略号的时候,使用的是-webkit-line-clamp、-webkit-box-orient属性,会出现webpack打包-webkit...

    beanlam 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<