首页 > 编程语言 >uniapp小程序页面实现元素与胶囊进行居中对齐

uniapp小程序页面实现元素与胶囊进行居中对齐

时间:2024-04-15 11:23:46浏览次数:30  
标签:居中 uniapp 胶囊 元素 let 对齐 uni menuButtonInfo 页面

无论是否为uni,关键在于获取胶囊中点的位置,如果是原生小程序根据小程序文档获取,其余逻辑处理是一致的
代码语法都只是技术选择,重点是逻辑处理,对于技术的运用,代码技术好比是积木,好的程序就是好的组合代码,利用技术的特点进行组合,

1.效果

image.png

实现代码

元素预览.png
template代码.png

    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
    },

具体原理

为了便于理解 就是先将要居中的元素 距离顶部的距离为胶囊中点的位置,再把元素上移元素高度的一半,两者中点就一致了
计算胶囊中点.png
设置元素中点.png

标签:居中,uniapp,胶囊,元素,let,对齐,uni,menuButtonInfo,页面
From: https://www.cnblogs.com/coderzdz/p/18135546

相关文章

  • 纯前端实现发版版本变化后页面重新加载
    0.原理通过在前端静态文件目录下维护一个版本,首次进入页面存储当前版本,轮询查询静态文件版本是否发生变化,如果变化则重新加载页面,如果未变化,则继续轮询1.优点比通过后端维护在数据库版本进行查询消耗更小,不需要查询数据库,也不用走到后台代码层,只需要访问到ngxin/......
  • 老年手机打电话页面
    1、对比分析墨刀、Axure、Mockplus等原型设计工具的各自的适用领域及优缺点(至少3条)。2、利用网络资源自学Mockplus或墨刀等原型设计工具,并利用原型工具自拟主题进行原型设计。主题是老年手机打电话页面要求:1)对主题名称、功能、界面设计考虑因素等进行说明;2)每位同学提供至少四......
  • HarmonyOS NEXT应用开发案例——滑动页面信息隐藏与组件位移效果
    介绍在很多应用中,向上滑动"我的"页面,页面顶部会有如下变化效果:一部分信息逐渐隐藏,另一部分信息逐渐显示,同时一些组件会进行缩放或者位置移动。向下滑动时则相反。效果图预览使用说明向上滑动页面,出现如下变化:用户名/选择身份/设置图标/客服图标逐渐隐藏,用户头像尺寸逐渐缩小......
  • 小端对齐+大端对齐进阶版本V3.0
    当涉及到多字节的数据类型(如uint16_t、uint32_t等)时,字节在内存中的存储顺序会影响到数据的解释方式。这个存储顺序可以分为两种:大端对齐(BigEndian)和小端对齐(LittleEndian)。大端对齐(BigEndian):在大端对齐中,数据的高字节(MostSignificantByte,MSB)存储在内存的低地址,而数据的低......
  • HarmonyOS NEXT应用开发案例——全屏登录页面
    全屏登录页面介绍本例介绍各种应用登录页面。全屏登录页面:在主页面点击跳转到全屏登录页后,显示全屏模态页面,全屏模态页面从下方滑出并覆盖整个屏幕,模态页面内容自定义,此处分为默认一键登录方式和其他登录方式。效果图预览使用说明点击主页面按钮"点击跳转到全屏登录页",......
  • HarmonyOS NEXT应用开发——Navigation开发 页面切换场景范例
    简介在应用开发时,我们常常遇到,需要在应用内多页面跳转场景时中使用Navigation导航组件做统一的页面跳转管理,它提供了一系列属性方法来设置页面的标题栏、工具栏以及菜单栏的各种展示样式。除此之外还拥有动态加载,navPathStack路由跳转。本文就以Navigation页面切换范例为例,来展......
  • HarmonyOS-基础之页面跳转
    1、配置页面路由信息resources-->base-->profile-->main_pages.json{"src":["pages/demo03/Index","pages/demo03/Detail"]}2、编写页面组件Index.ets/***路由跳转*-使用鸿蒙内置的router*/importrouterfrom'......
  • 解密prompt系列27. LLM对齐经验之如何降低通用能力损失
    前面我们已经聊过众多指令微调的方案,这一章我们重点讨论下如何注入某一类任务或能力的同时,尽可能不损失模型原有的通用指令理解能力。因为在下游或垂直领域应用中,我们设计的推理任务风格或形式,往往很难通过prompt来稳定实现。这种情况下就会依赖微调来注入稳定的推理风格,但同时在......
  • uniapp实现虚拟列表(元素固定高度)
    一、应用场景当接口返回数据太多时,前端可使用虚拟列表,实现长列表。二、原理只有在屏幕部分元素被显示出来,并且被更新,始终只有固定数量的节点,不会卡顿。三、效果图四、思路步骤使用Object.freeze冻结对象,极大优化性能生成多个元素的options,或者动态获取根据onPag......
  • 鸿蒙HarmonyOS实战-ArkUI组件(页面路由)
    ......