本文实例为大家分享了微信小程序自定义头部导航栏的具体代码,供大家参考,具体内容如下
效果图
支持导航栏自定义背景颜色,背景图片支持返回文字自定义支持导航标题自定义
首先在应用程序。json窗配置项添加
"窗口":{ “navigationStyle”:“自定义” }
自定义头部导航栏代码
wxml部分
& lt;视图类=癱u-custom”比; & lt;视图类=" cu-bar {{bgImage !=" & # 63;“none-bg设置bg-img”:“}}{{背景}}”在 & lt;视图类=靶卸眀indtap=癇ackPage”天气:如果=" {{!isShare,,isBack}}”在 & lt;文本类=" icon-back "祝辞& lt;/text> & lt;槽name=" backText祝辞& lt;/slot> & lt;/view> & lt;视图类=靶卸痓order-custom”天气:如果=" {{isShare,,isBack}}”在 & lt;文本类=癷con-back bindtap”=癇ackPage”祝辞& lt;/text> & lt;文本类=癷con-homefill bindtap”=皌oHome”祝辞& lt;/text> & lt;/view> & lt;视图类=澳谌荨痹? & lt;槽的名字=澳谌荨弊4? lt;/slot> & lt;/view> & lt;/view> & lt;/view>
wxs部分
.cu-custom{显示:块;位置:相对;} .cu-custom .cu-bar{显示:flex;对齐项目:中心;justify-content:之间的空间;位置:固定;宽度:100%;上图:0;最小高度:100 rpx;padding-right: 220 rpx;不必:0 rpx 0 rpx 0 rpx;z - index: 9999;background - color: # fff;} .cu-custom .cu-bar .border-custom{:相对;背景:rgba (255255255, 0.5);border - radius: 1000 rpx;高度:30 px;} .cu-custom .cu-bar .action{显示:flex;对齐项目:中心;高度:100%;justify-content:中心;max-width: 100%;} .cu-custom .cu-bar .action:第一个孩子{margin-left: 30 rpx;字体大小:30 rpx;} {.cu-custom .cu-bar .border-custom文本显示:块;flex: 1;保证金:汽车!重要;text-align:中心;字体大小:34 rpx;} .cu-bar .content{宽度:钙(100% - 440 rpx);位置:绝对;text-align:中心;左:0;右:0;底部:0;上图:0;保证金:汽车;高度:60 rpx;字体大小:32 rpx;行高:60 rpx;光标:没有;pointer-events:没有;文本溢出:省略;空白:nowrap;}溢出:隐藏;}
js部分
const应用=getApp (); 组件({ 选择:{ addGlobalClass:没错, multipleSlots:真 }, 属性:{ isBack: { 类型:布尔值字符串, 默认值:假 }, 背景:{//类名 类型:字符串, 默认值:“ }, bgImage:{//仅支持网络地址 类型:字符串, 默认值:“ }, }, 数据:{ 状态栏:App.GlobalData.StatusBar, CustomBar: App.GlobalData.CustomBar, 自定义:App.GlobalData.Custom, isShare: App.GlobalData.share }, 方法:{ BackPage () { wx.navigateBack ({ 三角洲:1 }); }, toHome () { wx.reLaunch ({ url:“/页/索引/指数”, }) } } })
应用程序。js判断是否分享
应用程序({ GlobalData: { 分享:假的, 状态栏:0, 自定义:0, CustomBar: 0 },>/*自定义头部导航栏图标*/.cu-custom[类*=蓖急辍癩{字体类型:“iconfont”!重要;字体大小:继承;字体样式:正常;} @font-face{字体类型:“iconfont”; src: url (iconfont.eot& # 63; t=1555316650045);/* IE9 */src: url (' iconfont.eot& # 63; t=1555316650045 # iefix ')格式(“embedded-opentype”),/* IE6-IE8 */url(数据:应用程序/x-font-woff2; charset=utf - 8; base64, d09GMgABAAAAAANcAAsAAAAAB0wAAAMPAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqCLIIKATYCJAMMCwgABCAFhG0HPxtZBsiemjyKBSigJhHwFACGePCEutd3On3HX0oBgBzCrQwwpxvBCDR2tgVzWmSLL1RJEo0V68AF6Bsg4wdCz0 + 7 oqxuhxbscrhlpw1 + Ay6n/1 + JzwPKbaxNY9OcFGCCAY21KZAHLpAEvWHsApdwHAI4amtJBg5 + es1UsFjjBJDsDFXIVHImbEu6ECIENUtthuwgQWg2mhJge h9 + UP7QjAkFGvq2LvImf37vq6IVzDTJxDP5wDYKlCgJbAgs2tdU + XjaEuK0xQFPR8CLIKZKxDHhCJdEdh/eGAQkAArNRWApihm4DtXlKqHkrtOVQCCOGmmDDksXcWxtJFWjZOLo + 97 + 5 uxph65opd782kq9uupmzkdev + 7 zfvxfjzj1scpi7qnz + ucfhU3wPOmRUvOjpd + cy5TU + qGnfuXXVF21Tfd7hK2s/5 zwcrlfo6ulj0lmky3g7taf3 + Nh96cqTdkZKAvt/mtErvN3SVSr9JXhz7eKT/52 f5r37kwxxngld/KlVqW7XKmv39DxVVnratPbW3o0HNScOZw0H1BrtuNR Q7DBquG5Ukw5bDkb76 + 2 pnh8q15yu + yL1wrlpU887 + 4 vph7/nSzFXBoi/7 wdnjao6xrz4 + 7/BNMr8n9Pu + T/0 foapzb0uyvrhqgww8b + umB4AdjCXWhG1QIvG9vWjTBg5yQAOB8TQV9638ZpKeioIIZVSGFKoBSWkIWlZLZHA0xEBIX3gaGHIak8FhfKITQLNrQUQyroOQ2meQynrNWlZX5Ggsn8IKJvCMbkKW3oal + EGFEIIINP8lDIkdhTHGtSi9GeooSV4WWnIfofn6wFq17ptMXELB94cM4oidVEcKBR5bNNgcBosiynfYwNSMEkPguuyTZuo7k2TBWxnagzgAUEAZGS + FMkgYQ7Fbx + olT7/DFQhi8BrqasJvgOPT + + ctNNa2x7krcrpVXcvrxSJqBaKBRQk4mE2Mhg4wLKjjOTXDzKAJDCRPiJ8tdQGtYr6qibra + wPKGRNWHeqGFGx + KJ0DlPY7MEpR/McLdTnAAA=')格式(“woff2”), url (iconfont.woff& # 63; t=1555316650045)格式(woff的), url (iconfont.ttf& # 63; t=1555316650045)格式(“truetype”),/* chrome, firefox、opera, Safari, Android, iOS 4.2 + */url (' iconfont.svg& # 63; t=1555316650045 # iconfont ')格式(svg);/* iOS 4.1 - */} .iconfont{字体类型:“iconfont”!重要;字体大小:16 px;字体样式:正常;-webkit-font-smoothing:平滑;-moz-osx-font-smoothing:灰度;} .icon-homefill:{之前内容:“\ e6fc”;} .icon-back:{之前内容:“\ e67a”;} {后.cu-custom .cu-bar .border-custom:内容:“”;宽度:200%;高度:200%;位置:绝对的;上图:0;左:0;border - radius:继承;null null null null null微信小程序自定义头部导航栏(组件化)