CSS 实现文本的单行和多行溢出省略效果

单行文本

.text {
  overflow: hidden; 
  text-overflow: ellipsis; 
  white-space: nowrap;
}
  • overflow: hidden(文字长度超出限定宽度,则隐藏超出的内容)

  • white-space: nowrap(设置文字在一行显示,不能换行)

  • text-overflow: ellipsis(规定当文本溢出时,显示省略符号来代表被修剪的文本)

多行文本(css)

.text {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
  • -webkit-line-clamp: 2(用来限制在一个块元素显示的文本的行数, 2 表示最多显示 2 行。为了实现该效果,它需要组合其他的WebKit属性)

  • display: -webkit-box(和 1 结合使用,将对象作为弹性伸缩盒子模型显示 )

  • -webkit-box-orient: vertical(和 1 结合使用 ,设置或检索伸缩盒对象的子元素的排列方式 )

  • overflow: hidden(文本溢出限定的宽度就隐藏内容)

  • text-overflow: ellipsis(多行文本的情况下,用省略号“…”隐藏溢出范围的文本)

多行文本(js)

  • 监听DOM尺寸变化

  • 判断是否溢出 scrollHeight > offsetHeight

  • 二分查找多行截取字符临界值(算法的解法:判断字符串是否溢出,二分查找字符串溢出临界子串,控制...显示)

转载于:https://mp.weixin.qq.com/s?src=11&timestamp=1618627893&ver=3013&signature=*TZk8fTGv0ca2DRiTSoJFTszSgATyV5WJIoA0k6CclYuSQ5vq3eDmXIigrdxwyQLID-Ygf3TBsmNUociT7FJfTOk6jscTrr1m41*Jw5g9RYBkzUhiiZOgROGp3SXNsDA&new=1

猜你喜欢

转载自blog.csdn.net/weixin_41884808/article/details/115791052
今日推荐