微信小程序自定义导航栏

微信小程序自定义导航栏

业务需求: 点击小房子进行跳转指定的页面 、更改小房子的样式、或者是自定义导航栏

  • 首先我们需要找到pages.json这个文件
    如果是原生的微信小程序文件名字是 app.json其实就是找到配置路由的文件
  • 在代码里面添加属性"navigationStyle":“custom”
{
      "path": "pages/home",
      "style": {
        "navigationBarTitleText": "首页",
		 "navigationStyle":"custom" // 自定义导航栏配置
      }
    },

以下我们有两种方法自定义导航:
1.原生的导航栏组件

<uni-nav-bar title="导航栏组件"></uni-nav-bar>

跳转官网详细的属性配置
2.自定义样式(可能会遇到ios/安卓版本样式兼容问题)

<view class="inaver _30f2b4d" >
	  <view class="left _30f2b4d">
	    <image class="icon _30f2b4d" src="自定义图标"></image>
	  </view>
	  <view class="center _30f2b4d">
	    <!-- 自定义区域 -->
	  </view>
	  <view class="right _30f2b4d">
	  </view>
	</view>
	<view  class="protect-inaver _30f2b4d">
	  <!-- 占据顶部位置分割样式 -->
	</view>
<style>
.inaver._30f2b4d {
  box-sizing: border-box;
  padding-top: 84rpx;
  width: 100vw;
  height: 180rpx;
  display: flex;
  position: fixed;
  z-index: 5000;
  top: 0;
  left: 0;
}
 
.inaver .left._30f2b4d {
  width: 100rpx;
  height: 100rpx;
  margin: 8rpx;
}
 
.inaver .left image.icon._30f2b4d {
  width: 45rpx;
  height: 45rpx;
  padding: 10rpx;
  margin: 10rpx;
  background-color: #d0d0d0;
  border-radius: 100%;
}
 
.inaver .center._30f2b4d {
  height: 100rpx;
  line-height: 100rpx;
  flex: 1;
  margin: 8rpx;
}
 
.inaver .right._30f2b4d {
  width: 240rpx;
  height: 100rpx;
  margin: 8rpx;
}
 
.protect-inaver._30f2b4d {
  box-sizing: border-box;
  width: 100vw;
  height: 160rpx;
}
</style>
  • 最后我们需要注意几个问题:
    1.非H5端,手机顶部状态栏区域会被页面内容覆盖。这是因为窗体是沉浸式的原因,即全屏可写内容。uni-app提供了状态栏高度的css变量–status-bar-height,如果需要把状态栏的位置从前景部分让出来,可写一个占位div,高度设为css变量。
    2.前端导航栏搭配原生下拉刷新时,会有问题
    3.非H5端,前端导航盖不住原生组件。如果页面有video、map、textarea(仅小程序)等原生组件,滚动时会覆盖住导航栏
  • 以上都是可能会发生的问题
    我们可以通过 编译分端处理 来解决 但还是尽量使用原生的导航栏以免出现更多复杂的问题
    在这里插入图片描述
    以上就是微信小程序自定义导航栏感谢大家的阅读
    如碰到其他的问题 可以私下我 一起探讨学习
    如果对你有所帮助还请 点赞收藏谢谢~!
    关注收藏博客 作者会持续更新…
  • 27
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 35
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

下一站丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值