如问题描述:我想让红色的块离顶部导航条(黄色)10rpx,底部的tabbar10rpx(不生效)。如下图:
代码如下:
<navigation-bar title="小程序" background="#FDD243" color="white" back="{{false}}"></navigation-bar>
<view style="height: 100vh; display: flex; flex-direction: column; background: red; margin-top: 10rpx; margin-bottom: 10rpx;">
</view>
我想到的方式一:
把红色的块`margin-bottom`设置为tabbar的高度。在获取tabbar高度之前,无论如何改`margin-bottom`都不工作,可能是height是100vh或者100%的原因?放弃这个。
第二个方式就是计算:
屏幕高度 - 导航条高度 - tabBar的高度
看了文档 wx.getWindowInfo,好像没有办法知道tabBar的高度。
难道是这个windowHeight就是我想要的数值?试试看,计算出来是688。
const windowInfo = wx.getWindowInfo()
const height = windowInfo.windowHeight * 750 / windowInfo.screenWidth
手工量了下,仍旧是包含tabBar的距离。
所以有没有什么方法能准确的做到这一点呢?
编辑一
<navigation-bar title="小程序" background="#FDD243" color="white" back="{{false}}"></navigation-bar>
<view style="height: 100%; display: flex; flex-direction: column; background: red; margin-top: 10rpx; margin-bottom: 10rpx;">
<view class="view1" style="width: 100%; height: 100%; background: green; flex: 1;"></view>
</view>
外层view100vh,然后给内边距10rpx大小随意不影响,然后内层写一个view宽高100%也就是红色板块,上面看你用bottom: 10rpx只是位置偏移了,这种是有问题的大小其实是没变的
看了你的需求挺简单,你描述的有点复杂了,实在不行底部放在10rpx高度的占位VIew就是了
10rpx也会被tabbar盖住啊。
position: fixed; bottom: 10rpx; 是可行的。