当前位置:   article > 正文

微信小程序自定义顶部导航栏的胶囊和微信自带的胶囊一样的透明背景色_微信小程序 自定义透明导航栏

微信小程序 自定义透明导航栏

想要实现微信自带的右上角胶囊背景透明很简单,只需要在pages.js里面设置下面配置就可以了:

  1. "navigationStyle": "custom",
  2. "navigationBarTextStyle": "white"

但是设置完这个后,胶囊的背景色是那种黑色半透明的效果:(微信开发者工具和真机上显示的效果不一致,要以真机为准)

手机端的效果:所以还是要以手机端为准

 

左侧的返回和home按钮是我自定义的组件,背景色使用的是:

background-color: #0000001f

然后还有边框使用的是:

border: 0.5rpx solid #ffffff54;

然后就可以调出和微信官方右侧胶囊一样的背景色和边框了。

我的顶部自定义tab组件源代码:

  1. <template>
  2. <view class="page_box">
  3. <!-- 行内式直接变量小程序不支持,故需要写成动态的变量 -->
  4. <view class="my_tab_title" :style="{ paddingTop: statusBarHeight }">
  5. <!-- 左侧自定义胶囊 -->
  6. <view class="menu_btn"
  7. :style="{ position: 'fixed', top: menuTop, left: menuRight, width: menuWidth, height: menuHeight, borderRadius: menuBorderRadius, }">
  8. <u-icon @click="goToBack" class="arrowleft" name="arrow-left" color='#fff' size="20"></u-icon>
  9. <text class="text_box"></text>
  10. <u-icon @click="goToHome" class="home" name="home" color='#fff' size="20"></u-icon>
  11. </view>
  12. <!-- 自定义标题 -->
  13. <!-- <text class="title">今日战绩</text> -->
  14. </view>
  15. </view>
  16. </template>
  17. <script setup lang="ts">
  18. const statusBarHeight = uni.getStorageSync('menuInfo').statusBarHeight
  19. //状态栏的高度(可以设置为顶部导航条的padding-top)
  20. const menuWidth = uni.getStorageSync('menuInfo').menuWidth
  21. const menuHeight = uni.getStorageSync('menuInfo').menuHeight
  22. const menuBorderRadius = uni.getStorageSync('menuInfo').menuBorderRadius
  23. const menuRight = uni.getStorageSync('menuInfo').menuRight
  24. const menuTop = uni.getStorageSync('menuInfo').menuTop
  25. // 距离顶部的距离,可以设置为内容区域的顶部外边距
  26. const contentTop = uni.getStorageSync('menuInfo').contentTop
  27. const goToBack = () => {
  28. console.log("返回按钮");
  29. uni.navigateBack({
  30. delta: 1
  31. })
  32. }
  33. const goToHome = () => {
  34. console.log("返回主页");
  35. uni.switchTab({
  36. url: '/pages/home/index'
  37. })
  38. }
  39. </script>
  40. <style lang="scss" scope>
  41. .page_box {
  42. .my_tab_title {
  43. z-index: 999;
  44. width: 100%;
  45. height: 44px; //这个是固定的44px(所有小程序顶部高度都是 = 44px + 手机系统状态栏高度)
  46. line-height: 44px;
  47. text-align: center;
  48. position: fixed;
  49. top: 0;
  50. z-index: inherit;
  51. font-family: Monospaced Number, Chinese Quote, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, PingFang SC, Hiragino Sans GB, Microsoft YaHei,
  52. Helvetica Neue, Helvetica, Arial, sans-serif !important;
  53. font-size: 32rpx;
  54. color: #000;
  55. font-weight: 500;
  56. .menu_btn {
  57. // background-color: #ffffff; //这个是小程序默认的标题栏背景色
  58. overflow: hidden;
  59. background-color: #0000001f;
  60. border: 0.5rpx solid #ffffff54;
  61. // position: fixed;//行内式写了固定定位--目的是去掉下划页面一起滚动问题
  62. .arrowleft {
  63. position: absolute;
  64. top: 50%;
  65. left: 50%;
  66. transform: translate(-160%, -50%) !important;
  67. -webkit-transform: translate(-160%, -50%) !important;
  68. }
  69. .text_box {
  70. width: 1rpx;
  71. height: 20px;
  72. background-color: #ffffff54;
  73. position: absolute;
  74. top: 50%;
  75. left: 50%;
  76. transform: translate(-50%, -50%) !important;
  77. -webkit-transform: translate(-50%, -50%) !important;
  78. }
  79. .home {
  80. position: absolute;
  81. top: 50%;
  82. left: 50%;
  83. transform: translate(60%, -50%) !important;
  84. -webkit-transform: translate(60%, -50%) !important;
  85. }
  86. }
  87. .title {
  88. color: white;
  89. font-weight: 700;
  90. }
  91. }
  92. }
  93. </style>

 最后引入到页面中的效果图:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/312851?site
推荐阅读
相关标签
  

闽ICP备14008679号