【实战】前端必会 —— 微信小程序右上角胶囊按钮(标题设置透明后的处理)



一、问题

在这里插入图片描述
微信小程序右上角的胶囊按钮在正常情况下(正常设置 navigationBarTitleText)没有影响

但是标题部分设置透明(“navigationStyle”: “custom”,)后,问题就出现了

我这边的需求是在最顶部增加一个搜索框,由于存在胶囊按钮,为了美观,搜索框只占剩余宽度,且高度齐平,但是对于不同机型尤其是有刘海屏的机型,差别会很大

二、解决

使用 wx.getMenuButtonBoundingClientRect() 获取距上高度和宽度,并动态绑定到 wxml 对应 style属性中:

<van-search
  class="search"
  value="{{ keyword }}"
  shape="round"
  background="#00000000"
  placeholder="搜索感兴趣的内容"
  bind:change="onChange"
  bind:search="onSearch"
  clearable
  style="{{searchBarStyle}}"
/>
Page({
  data: {
    searchBarStyle: `top: ${wx.getMenuButtonBoundingClientRect().top - 10}px; width: ${wx.getSystemInfoSync().screenWidth - wx.getMenuButtonBoundingClientRect().width}px;`,
    ...
  }
})

效果:
在这里插入图片描述


借图:
在这里插入图片描述

拓展阅读:

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
微信小程序右上角胶囊按钮微信小程序的一个特殊按钮,通常用于展示页面标题和一些常用操作按钮。在正常情况下,胶囊按钮的存在不会对页面的导航栏标题产生影响,该标题会显示在胶囊按钮的左侧。 如果你想了解更多关于微信小程序右上角胶囊按钮的具体样式,如边框大小、颜色、背景色等,你可以参考微信开社区的相关讨论。 此外,如果你需要自定义小程序的底部导航栏(也称为tabbar),你可以使用微信小程序提供的自定义tabbar功能。你可以通过编写相应的代码实现自定义tabbar,从而使小程序的底部导航栏与你的设计需求相匹配。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【实战前端必会 —— 微信小程序右上角胶囊按钮标题设置透明后的处理)](https://blog.csdn.net/qq_32682301/article/details/126836007)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [微信小程序 自定义tabbar (源码)](https://download.csdn.net/download/Sapphire521/85511088)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序边界

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

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

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

打赏作者

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

抵扣说明:

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

余额充值