onLoad(){
//获取状态栏+导航栏的高度
let _that = this;
uni.getSystemInfo({
success(e) {
if(e.platform == "ios"){
_that.statusBarHeight = e.statusBarHeight + 45;
}else{
_that.statusBarHeight = e.statusBarHeight + 50;
}
}
})
}注意:微信小程序的e.platform是devtools,所以要加上这个判断,不然会多出来5像素
onLoad(){
//获取状态栏+导航栏的高度
let _that = this;
uni.getSystemInfo({
success(e) {
if(e.platform == "ios" || e.platform == "devtools"){
_that.statusBarHeight = e.statusBarHeight + 45;
}else{
_that.statusBarHeight = e.statusBarHeight + 50;
}
}
})
}然后拿到这个变量statusBarHeight设置动态值了
比如:导航栏有切换菜单的,需要动态定位,而不是写死top值的
<view class="tabbarBox" :style="{'top':statusBarHeight + 'px'}">
<u-tabs :list="tabbarList" :is-scroll="false" :current="currentIndex" @change="TabbarChange"></u-tabs>
</view>其他css样式可以在css上写,只有top值是动态的
.tabbarBox{
position: fixed;
// top: 120upx;//这个值不能写死
left: 0;
right: 0;
z-index: 999;
}效果图,这样无论什么分辨率都是一样的

2.还有一种用途,就是自定义导航栏的,导航栏有时会盖住内容,所以需要设置动态的padding-top值
//在最外那层view设置
<view class="find" :style="{'padding-top':statusBarHeight+'px'}">
//内容
</view>注意:行内样式不支持upx、rpx之类的单位
版权声明:本文为weixin_44694389原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。