想要实现的效果、
大部分可以参考这一篇文章
小程序弹出框是没办法遮挡住底部的tabbar的,解决的办法是使用自定义tabbar。。uni-app小程序如何自定义tabbar-CSDN博客
我们只要改下index.wxml和index. wxs的代码就行了
<view class="tab-bar"><block wx:for="{{list}}" wx:key="index"><view class="tab-bar-item" data-path="{{item.pagePath}}" data-index="{{index}}" bindtap="switchTab"><view class="special-image" wx:if="{{selected === index}}"><image class="special-image-pic" mode="aspectFit" src="{{item.selectedIconPath}}" mode="aspectFit"></image></view><image class="item-image" mode="aspectFit" src="{{item.iconPath}}" mode="aspectFit" wx:else></image><view class="tab-text" style="color: {{selected === index ? selectedColor : color}}">{{item.text}}</view></view></block> </view>
.tab-bar {position: fixed;bottom: 0;left: 0;right: 0;height: 96rpx;background: white;display: flex;padding-bottom: env(safe-area-inset-bottom);border-radius:32rpx 32rpx 0 0;padding-top:22rpx; }.tab-bar-border {background-color: rgba(0, 0, 0, 0.33);position: absolute;left: 0;top: 0;width: 100%;height: 2rpx;transform: scaleY(0.5); }.tab-bar-item {flex: 1;text-align: center;display: flex;justify-content: center;align-items: center;flex-direction: column;position:relative; }.tab-bar-item .item-image {width: 46rpx;height: 46rpx;position: absolute;top: 0; } .tab-bar-item .special-image {position: absolute;top: -50rpx;left: 35rpx;width: 150rpx;height: 150rpx;text-align: center;box-sizing: border-box; } .tab-bar-item .special-image .special-image-pic {width: 100%;height: 100%; }.tab-bar-item .tab-text {margin-top: 4rpx; }.tab-bar-item .special-text {margin-top: 44rpx }.tab-bar-item .tab-text {font-size: 28rpx;position:absolute;bottom:0; }