getClientRects()获取文本的行数和宽高等信息,只能获取行内元素的 nextTick(() => { const lineRows = document.querySelector('.abc').getClientRects(); // 如果行数超出2||行数是2&&最后一行宽度超过dom宽度-展开收起按钮的width就是多了,要显示展开收起的按钮 if(lineRows.length > 2 || (lineRows.length == 2 && lineRows[1].width > document.querySelector('.abc').offsetWidth - 66)) { // 挨个减少文本字数 然后检测是否超出 showContent.value = showContent.value.substr(0, showContent.value.length - 1) getText() }else{ showContent.value = showContent.value + "..." } })
标签:多行,showContent,vue,省略号,lineRows,value,length,按钮,文本 From: https://www.cnblogs.com/guodadan/p/17451609.html