写好自定义导航栏后,设定位为
topbar{
position: fixed;
width: 100%;
left: 0;top: 0;
}
这样就可以浮在顶部了
然后就是所有页面都要padding-top一定像素
page{
padding-top:128rpx}
但这样是有问题的,一般手机状态栏高度为20px,则没问题
但是类型iPhone X这些刘海屏状态栏高度为44px,则上面应该是
padding-top : 176 rpx |
但是在css中无法动态知道设备的状态栏高度啊
难道要在每个页面去获取状态栏高度,然后再在页面设置每个页面的padding-top高度么?
我的页面少说也有个30多个啊。
有没有更好的解决方法?
理想的解决方法是:
在自定义导航栏组件内获取状态栏高度,
然后再在去统一设置page Dom的css样式。
然后每个页面引入这个自定义导航栏组件。
问题是没有获取page和设置dom样式的接口啊
可以自定义某个页面的导航栏的话就可以解决,某个页面的适配工作量还能接受
当然最好还是出一个自定义导航栏的组件,框架层面的组件就不用一直去考虑 页面布局的影响 比如
1,height 100%
2,fixed 或 不用fixed
3,大量安卓机的适配工作
当然这些情况开发者可以自己去开发一个自定义组件去解决,一开始就规划好一个自定义导航栏组件满足上边的需求,无非使用层面可能要注意一些属性配置。但是大部分小程序刚开始开发的时候是没有自定义导航栏的需求,基本上是开发中途增加了这个需求,这个时候去规划并开发这个组件的工作量还是蛮大的,需要重新审视每个页面的布局,简单的还好,但面对一些页面中已经有 fixed 顶部的布局就需要重新规划。所以如果官方出一个自定义导航栏的组件,会节省很多开发工作。
写了个自适应的自定义导航栏组件,可以试试这个组件。https://developers.weixin.qq.com/community/develop/doc/000442e9f803e8b3c777e25585b806