移动端省略号显示问题

问题:超出2行隐藏,第三行文字溢出解决

部分机型显示溢出
在这里插入图片描述
原代码

/* 2行超出省略号 */
.ellipsis-2 {
  /* 将对象作为弹性伸缩盒子模型显示 */
  display: -webkit-box;
  /* 控制最多显示几行 */
  -webkit-line-clamp: 2;
  /* 设置或检索伸缩盒对象的子元素的排列方式 */
  /* autoprefixer: off */
  -webkit-box-orient:vertical;
  /* autoprefixer: on */
  overflow: hidden;
}

解决方案:
在原代码基础上新增

line-height: 1.5;

问题:标签套标签不显示省略号问题

原代码

<view class='ellipsis'>
	<text>
		拿铁咖啡中杯
	</text>
	<text class='small'>
		不需要糖包 / 不加奶 / 不加冰 / 浓郁
	</text>
</view>
.ellipsis{
	max-width: 488rpx;
    font-weight: 400;
    color: #333333;
    font-size: 24rpx;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.small{
	font-size: 20rpx;
    color: #999999;
    margin: 0 10rpx
}

解决方案:
.ellipsis新增以下几行代码

	display: -webkit-box;
    -webkit-line-clamp: 1;
    /* autoprefixer: off */
    -webkit-box-orient: vertical;
    /* autoprefixer: on */

正常两行行超出缩略

<view class="coupon-name">
   立即领取立即领取立即领取立即领取
</view>
    .coupon-name {
      font-weight: 500;
      font-size: 24rpx;
      color: #713f04;
      width: 152rpx;
      line-height: 32rpx;
      margin: 0 auto;
      text-align: center;
      /* 将对象作为弹性伸缩盒子模型显示 */
      display: -webkit-box;
      /* 控制最多显示几行 */
      -webkit-line-clamp: 2;
      /* 设置或检索伸缩盒对象的子元素的排列方式 */
      /* autoprefixer: off */
      -webkit-box-orient:vertical;
      /* autoprefixer: on */
      overflow: hidden;
      white-space: break-spaces; // 要加
      height: 64rpx;  // 要加
    }
### 实现 uni-app 中移动端文字超出显示省略号的方法 在uni-app中,实现文字超出时显示省略号(`...`)的方案,主要依赖于CSS属性的适配以及不同平台对CSS特性的支持情况。由于不同平台(如微信小程序、H5、App)对CSS多行省略的支持不同,因此需要根据平台进行适配处理。 #### 单行文本省略 对于单行文本溢出显示省略号,可以使用标准的CSS属性组合: ```css .text-ov1 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } ``` 这种方式在所有平台上均能正常工作,适用于单行文本的省略需求[^3]。 #### 多行文本省略 在H5平台,可以使用 `-webkit-line-clamp` 属性来实现多行文本省略: ```css .text-ov4 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; } ``` 该方式适用于H5平台,但在微信小程序等非H5平台上不会生效。 #### 全平台兼容的多行文本省略 为了在uni-app中实现全平台兼容的多行文本省略效果,可以结合条件编译和平台特定的样式设置。例如,在App端使用 `lines` 属性: ```css // #ifdef APP .text-ov4 { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; lines: 4; } // #endif ``` 在H5端继续使用 `-webkit-line-clamp` 的方式,以确保在不同平台下都能正确显示文本省略效果。 #### 使用SCSS实现多行省略类 为了提高开发效率,可以使用SCSS的 `@for` 循环生成多个类,以支持不同行数的省略需求: ```scss // #ifdef APP @for $i from 2 through 5 { .text-ov#{$i} { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; lines: $i; } } // #endif // #ifdef H5 @for $i from 2 through 5 { .text-ov#{$i} { overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: $i; line-clamp: $i; -webkit-box-orient: vertical; } } // #endif ``` 这种方式可以灵活地为不同行数的文本省略需求提供支持,并且确保在不同平台上都能正常工作[^3]。 --- ### 相关问题 1. 如何在uni-app中实现单行文本超出显示省略号? 2. uni-app中多行文本省略在微信小程序中不生效怎么办? 3. 如何使用SCSS为uni-app生成多行省略的CSS类? 4. uni-app中如何实现全平台兼容的文本省略方案? 5. 在uni-app中,H5和App端的文本省略实现方式有什么区别?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值