一段文字的展开和收起,超出部分用省略号表示

一、展开、收起占单独的一行
效果图:

css代码如下:
.analysis-result-item-improve {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;  //收起时显示的行数
  overflow: hidden;
  text-overflow: ellipsis;  //超出部分用省略号表示
  line-height: 36rpx;
}

.analysis-result-item-improve.hide {
  display: -webkit-box;
}

.analysis-result-item-improve.show {
  display: inline-block;
}
html代码:
<view class="analysis-result-item-improve {{isFold ? 'hide' : 'show'}}">文段内容</view>
二、展开、收起与文本最后一段在同一行
效果图:

js代码:
 showMore(){
   this.setData({
     isFold:!this.data.isFold
   })   //这里得用setData赋值   
   console.log(!this.data.isFold);
}
HTML代码:

“更多”要写在内容文本前

<view class="content ">
    <view class="text {{ isFold ? 'hide' : 'show'}}">
        <view class="more" bind:tap="showMore">
             <text wx:if="{{isFold}}">
                <text class="arrow"></text>更多
             </text>
             <text wx:if="{{!isFold}}">收起</text>
         </view>
       陆羽《茶经》中按土壤质量分茶叶种植为三级:上者生烂石,富含矿物质,利于茶树生长;中者生砾壤,砂质土壤,养分略逊;下者生黄土,黏重不透气,茶叶品质低。
     </view>

</view>
css部分:
.content {
  padding: 30rpx;
  background: #FBFBFB;
  border-radius: 16rpx;
  border: 2rpx solid rgba(113, 145, 104, 0.1);
  font-family: PingFangSC, PingFang SC;
  font-weight: 400;
  font-size: 28rpx;
  color: #666666;
  line-height: 44rpx;
  display: flex;
}

.content .text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
}

.content .text::before {
  content: '';
  float: right;
  height: calc(100% - 44rpx);   //自动计算展开和收起时文本的高度 - 最后一行的高度
  /* width: 10rpx;
  background-color: #333333; */
}

.content .text.hide { //这里不能有空格
  display: -webkit-box;
}

.content .text.show {
  display: inline-block;
}

.more {
  font-family: PingFangSC, PingFang SC;
  font-weight: 400;
  font-size: 28rpx;
  color: #5C7D54;
  line-height: 44rpx;
  float: right;
  clear: both;
  
}

.more .arrow {
  display: block;
  float: right;
  width: 5px;
  height: 5px;
  border-top: 1px solid #5C7D54;
  border-left: 1px solid #5C7D54;
  transform: rotate(225deg);
  margin: 15rpx 15rpx 0rpx 10rpx;
}

这里我只画了向下的箭头,向上的箭头同理,只要改变transform的角度就行

这部分代码我参考的是这个链接https://juejin.cn/post/6963904955262435336

写的很详细,虽然我对一些布局还是一知半解,还做不到灵活运用,但是从中还算是有所获益。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值