找回密码
 立即注册
首页 编程领域 编程板块 最全的 “文本溢出截断省略” CSS & JS 方案

前端 最全的 “文本溢出截断省略” CSS & JS 方案

2023-3-14 10:34:21 评论(0)
在我们的日常开发工作中,文本溢出截断省略是很常见的一种需考虑的业务场景细节。看上去 “稀松平常” ,但在实现上却有不同的区分,是单行截断还是多行截断?多行的截断判断是基于行数还是基于高度?这些问题之下,都有哪些实现方案?他们之间的差异性和场景适应性又是如何?凡事就怕较真,较真必有成长。本文试图通过编码实践,给出一些答案。





核心 CSS 语句
  • overflow: hidden;(文字长度超出限定宽度,则隐藏超出的内容)
  • white-space: nowrap;(设置文字在一行显示,不能换行)
  • text-overflow: ellipsis;(规定当文本溢出时,显示省略符号来代表被修剪的文本)
优点
  • 无兼容问题
  • 响应式截断
  • 文本溢出范围才显示省略号,否则不显示省略号
  • 省略号位置显示刚好
短板
  • 只支持单行文本截断
适用场景
  • 适用于单行文本溢出显示省略号的情况
Demo


进阶一下,多行文本溢出省略(按行数)
核心 CSS 语句
  • -webkit-line-clamp: 2;(用来限制在一个块元素显示的文本的行数, 2 表示最多显示 2 行。 为了实现该效果,它需要组合其他的WebKit属性)
  • display: -webkit-box;(和 1 结合使用,将对象作为弹性伸缩盒子模型显示 )
  • -webkit-box-orient: vertical;(和 1 结合使用 ,设置或检索伸缩盒对象的子元素的排列方式 )
  • overflow: hidden;(文本溢出限定的宽度就隐藏内容)
  • text-overflow: ellipsis;(多行文本的情况下,用省略号“…”隐藏溢出范围的文本)
优点
  • 响应式截断
  • 文本溢出范围才显示省略号,否则不显示省略号
  • 省略号显示位置刚好
短板
  • 兼容性一般: -webkit-line-clamp 属性只有 WebKit 内核的浏览器才支持



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

使用道具 举报

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们(3513994353@qq.com)。
您需要登录后才可以回帖 登录 | 立即注册
楼主
无上荣光

关注0

粉丝0

帖子15

最新动态