h5在webview满屏自适应高度,无法使用100%,又想普满屏。不包括状态栏高度

一次做app webview内嵌vue的h5项目时,页面需要铺满屏幕,通常来说,html,body,#app{height:100%},然后在页面组件的根元素也设100%就行了。

但是由于项目做的时候每个html,body,#app的height为100%,然后做的差不多的时候又需要这个条件,但是不敢加,一方面是项目是团队一起做的,怕加了会对其他人的项目产生影响,另一方面是可能会对上拉刷新产生影响(使用了vant-ui的上拉功能);


在上面的两个条件约束下得单独在页面组件获取到屏幕的可用区域,


测试方法1:

        css样式,如页面组件根元素的类名叫box,设置.box{height:100%},无效,因为box的父元素#app,及html,body都没设height:100%,


测试方法2:

        设置.box{height:100vh},有效是有效,但是100vh的高度包括了状态栏的高度,所以你得获取到状态栏高度,然后再用100vh减去它,但是状态栏高度不好获取,需要andriod和ios都要封装一个方法来获取,万一别人不想做呢,所以此法也不行


方法3:使用window.innerHeight获取再赋值回去,经测试,此法可行!(window.screen.availHeight 不行)


落魄前端-小陈
0
0
0
评论
浏览
收藏