Uniapp自定义导航栏

1.准备自定义导航栏组件

html 复制代码
<template>
  <view class="navbar">
    <view class="logo">
      <image class="logo-image" src="@/static/logo.png"></image>
    </view>
    <!-- 搜索条 -->
    <view class="search">
      <text class="icon-search">搜索商品</text>
      <text class="icon-scan"></text>
    </view>
  </view>
</template>

<style lang="scss">
/* 自定义导航栏样式 */
    <!-- 略-->
</style>

2.修改页面配置,隐藏默认导航栏,修改文字颜色

XML 复制代码
// src/pages.json
{
  "path": "pages/index/index",
  "style": {
    "navigationStyle": "custom", // 隐藏默认导航
    "navigationBarTextStyle": "white",
    "navigationBarTitleText": "首页"
  }
}

3.样式适配 -> 安全区域

不同手机的安全区域不同,为防止页面内容被遮挡,通过 uni.getSystemInfoSync() 获取屏幕边界到安全区的距离

html 复制代码
<script>
  // 获取屏幕边界到安全区域距离
  const { safeAreaInsets } = uni.getSystemInfoSync()
</script>

<template>
  <!-- 顶部占位 -->
  <view class="navbar" :style="{ paddingTop: safeAreaInsets?.top + 'px' }">
    <!-- ...省略 -->
  </view>
</template>

4.首页中即可引入自定义组件

相关推荐
Cache技术分享4 分钟前
104. Java 继承 - 实例方法的覆盖
前端·后端
Lanqing_076013 分钟前
京东开放平台获取京东商品详情API接口操作解答
java·前端·python·api·电商·电商数据
三翼鸟数字化技术团队15 分钟前
提升开发思维的设计模式(上)
前端·javascript·设计模式
wh_xia_jun24 分钟前
ref 应用于对象类型的一个案例
前端·javascript·vue.js
梨子同志30 分钟前
Web Storage:localStorage 与 sessionStorage
前端·javascript
绅士玖30 分钟前
从Promise到async/await:JavaScript异步编程的演进
前端·javascript
总之就是非常可爱30 分钟前
打造一个支持流式输出的 Vue Markdown 渲染组件
前端·chatgpt·markdown
3Katrina32 分钟前
从做一个播放音乐的小组件讲React的事件触发机制
前端·javascript·react.js
悦悦妍妍35 分钟前
Vue3 + Ant Design Vue Modal 对话框可拖拽指令
前端
用户697793063425335 分钟前
多笔记间快速切换自动保存竞态条件问题及解决方案
前端