uniapp最多3行如何实现
在uniapp中如何实现最多显示3行文本的效果?如果文本内容超过3行,需要自动截断并显示省略号。类似CSS的-webkit-line-clamp属性效果,请问在uniapp中有没有跨平台的解决方案?
2 回复
uniapp实现最多3行文本显示,可通过CSS设置:
.text {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
}
适用于H5和小程序,兼容性较好。
在 UniApp 中实现最多显示 3 行文本,超出部分显示省略号,可以通过 CSS 样式控制。以下是实现方法:
方法一:使用 CSS -webkit-line-clamp 属性
.text-ellipsis {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3; /* 限制为3行 */
overflow: hidden;
text-overflow: ellipsis;
}
方法二:使用 UniApp 的 <text> 组件(小程序端)
<text class="text-ellipsis">这里是要显示的文本内容...</text>
注意事项:
- 在部分安卓机型或 H5 端可能需要添加
line-height确保正确计算行数 - 如果遇到兼容性问题,可以添加以下样式:
.text-ellipsis {
/* 其他样式同上 */
line-height: 1.2; /* 根据实际字体大小调整 */
max-height: 3.6em; /* 3行 × 1.2行高 */
}
完整示例:
<template>
<view>
<text class="three-lines">这里是很长的文本内容,超过三行时会显示省略号...</text>
</view>
</template>
<style>
.three-lines {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
text-overflow: ellipsis;
line-height: 1.2;
}
</style>
这种方法在大多数情况下都能正常工作,如果需要更好的兼容性,可以考虑使用 JS 计算文本高度来实现。

