有没有什么办法计算一段文字在不同大小屏幕下占用的行数?
如图,如果在用户手机屏幕宽度下内容超出两行则显示阅读全文,否则不显示阅读全文
有没有什么办法计算一段文字在不同大小屏幕下占用的行数?
如图,如果在用户手机屏幕宽度下内容超出两行则显示阅读全文,否则不显示阅读全文
外层使用flex布局,设定高度行数, 或者外层给定最大高度max-height
内层div放文字, 正常显示
.outer {
display: -webkit-box;
-webkit-line-clamp: 2;
overflow: hidden;
}
.inner {
display: block;
oveflow: auto;
}
html结构:
<div class="outer">
<div class="inner">
文本内容
</div>
</div>
<div id="show-more"></div>
然后判断两者高度:
if ($('.inner').height() > $('.outer').height()) {
$('#show-more').show();
}
这个时候显示“查看更多”
this.$nextTick(() => {
const e = this.$refs.infoShort
e.scrollHeight > e.clientHeight && (this.showAllDesc = true)
})
css:
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
word-break: break-all;
8 回答5.8k 阅读✓ 已解决
9 回答9.2k 阅读
6 回答4.8k 阅读✓ 已解决
4 回答13.3k 阅读✓ 已解决
5 回答3.5k 阅读✓ 已解决
5 回答8k 阅读✓ 已解决
5 回答7.7k 阅读✓ 已解决
思路是根据行高判断,一旦行高大于1行高度,说明内容出现了两行。以下是代码:
html 如下:
js如下:
码字不易,喜欢请点赞~