uniapp小程序页面实现元素与胶囊进行居中对齐
无论是否为uni,关键在于获取胶囊中点的位置,如果是原生小程序根据小程序文档获取,其余逻辑处理是一致的
代码语法都只是技术选择,重点是逻辑处理,对于技术的运用,代码技术好比是积木,好的程序就是好的组合代码,利用技术的特点进行组合,
1.效果
实现代码
fixedTop() { let serchTop = 0 if (utils.getPlatForm() === 'mp-weixin') { let menuButtonInfo = uni.getMenuButtonBoundingClientRect() // 胶囊中点距离顶部位置 let menuButtonCenterPos = menuButtonInfo.top + menuButtonInfo.height / 2 // rpx 与 px转换存在系数 uni获取的胶囊位置为px // 计算最终元素距离顶部的位置 eleHeightwei元素的高度一半 => 给需要居中的元素设置为 胶囊中点 - 元素高度一半 serchTop = menuButtonCenterPos - uni.upx2px(eleHeight) } return serchTop },
具体原理
为了便于理解 就是先将要居中的元素 距离顶部的距离为胶囊中点的位置,再把元素上移元素高度的一半,两者中点就一致了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?