uni-app带来了诸多方便也带来各平台之间的差异。
在H5端css属性height: 100vh是相对于整个浏览器视口高度;
非H5平台则是减掉原生导航栏和原生tabbar的高度,因此会造成H5端出现垂直滚动条,非H5平台则正常显示的问题。
解决方案: 利用uniapp提供的条件编译,H5端使用100vh - 44px(原生导航栏高度)- 50px(原生tabBar高度),非H5平台端则直接使用100vh即可。
代码示例:
.page{
// #ifndef APP-PLUS
height: calc(100vh - 44px - 50px); // 非APP平台下生效
// #endif
// #ifdef APP-PLUS
height: calc(100vh); // APP平台下生效
// #endif
background-color: #ededed;
}