微信小程序伪元素显示问题解决iPhone

文章描述了一个在iPhone上遇到的UI问题,即点击新元素后旧元素直接消失。解决方案是通过在不显示下划线的WXML元素上添加一个CSS伪元素来解决。具体做法是修改wxss样式,为`.chg_type.chg_item`的`::before`选择器设置透明背景,然后在`.chg_item.on::before`中设定选中的颜色,这样可以确保元素切换时不会消失。

iPhone上偶现奇怪问题,点击新的元素之后旧的元素直接消失,除非重新点击
针对这个问题只需要给不显示下划线的元素也设置一个伪元素就可以解决了,代码示例在最后
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

wxml

<view class="chg_type">
  <view class="chg_item {{type==4?'on':''}}" bindtap="sel_type" data-type="4">全部</view>
  <view class="chg_item {{type==0?'on':''}}" bindtap="sel_type" data-type="0">未支付</view>
  <view class="chg_item {{type==1?'on':''}}" bindtap="sel_type" data-type="1">待发货</view>
  <view class="chg_item {{type==2?'on':''}}" bindtap="sel_type" data-type="2">待收货</view>
  <!-- <view class="chg_item {{type==3?'on':''}}" bindtap="sel_type" data-type="3">已完成</view> -->
  <view class="chg_item {{type==5?'on':''}}" bindtap="sel_type" data-type="5">待评价</view>
</view>

有问题的wxss样式

.chg_type .chg_item::before {
  display: block;
  content: '';
  height: 6rpx;
  background: #f87306;
  position: absolute;
  bottom: -8rpx;
  left: 0;
  right: 0;
}

修改之后的

.chg_type .chg_item::before {
  display: block;
  content: '';
  height: 6rpx;
  background: transparent;
  position: absolute;
  bottom: -8rpx;
  left: 0;
  right: 0;
}

.chg_type .chg_item.on::before {
  background: #f87306;
}

只需要将css修改之后就可以解决这个问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值