如何实现文本内容折叠并显示“...查看全部”?
在线体验:https://wintc.top/laboratory/#/ellipsis
一、需求描述
二、实现原理
怎样判断文字是否超过指定行数
如何计算字符串截取长度
动态响应,包括响应页面布局变动、字符串变化、指定行数变化等
1、怎样判断一段文字是否超过指定行数?
{{ showContent }} <-- showContent表示字符串截取部分 -->
... 查看更多
.ellipsis-container
text-align left
position relative
line-height 1.5
padding 0 !important
.textarea-container
position absolute
left 0
right 0
pointer-events none
opacity 0
z-index -1
textarea
vertical-align middle
padding 0
resize none
overflow hidden
font-size inherit
line-height inherit
outline none
border none
2、如何计算字符串截取长度x——双边逼近法(二分思想)
3、监听页面变动
三、代码实现
{{ showContent }}
{{ ellipsisText }}
{{ btnText }}
四、其它
1、支持html串的考虑
2、减少浏览器回流的影响
评论