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.首页中即可引入自定义组件

相关推荐
zhuyan1089 分钟前
Linux 系统磁盘爆满导致无法启动修复指南
前端·chrome
编程牛马姐30 分钟前
独立站SEO流量增长:提高Google排名的优化方法
前端·javascript·网络
NotFound4861 小时前
实战指南如何实现Java Web 拦截机制:Filter 与 Interceptor 深度分享
java·开发语言·前端
Dontla1 小时前
高基数(High Cardinality)问题介绍(Prometheus、高基数字段、低基数字段)
前端·数据库·prometheus
whuhewei3 小时前
为什么客户端不存在跨域问题
前端·安全
妮妮喔妮4 小时前
supabase的webhook报错
开发语言·前端·javascript
yivifu4 小时前
手搓HTML双行夹批效果
前端·html·html双行夹注
奔跑的卡卡5 小时前
Web开发与AI融合-第一篇:Web开发与AI融合的时代序幕
前端·人工智能
IT_陈寒5 小时前
Redis批量删除的大坑,差点让我加班到天亮
前端·人工智能·后端
帆张芳显5 小时前
智表ZCELL产品V3.6 版发布,新增系统预置右键菜单操作、页签栏操作等功能
前端·canva可画·excel插件