uniapp标题水平对齐微信小程序胶囊按钮及适配

uniapp标题水平对齐微信小程序胶囊按钮及适配

  • 状态栏高度
  • 胶囊按钮的信息
  • 计算顶部边距
  • 模板
  • 样式

标签加样式加动态计算实现效果
在这里插入图片描述

状态栏高度

获取系统信息里的状态栏高度

const statusBarHeight = uni.getSystemInfoSync().statusBarHeight;//系统信息里的状态栏高度

胶囊按钮的信息

用到胶囊按钮的top、height

const menuButtonInfo= uni.getMenuButtonBoundingClientRect();//胶囊按钮信息

计算顶部边距

上下有边距所以要除以2
在这里插入图片描述
在这里插入图片描述

顶部边距 = 胶囊按钮的top - (胶囊按钮的高度 - 状态栏高度) / 2

const titleTop = menuButtonInfo.top - (menuButtonInfo.height - statusBarHeight) / 2;//标题父元素边距高度

模板

<view  :style="{paddingTop: titleTop + 'px'}"><view class="main-title" :style="{height: sBarHeight +'px'}">{{tenantName}}</view>
</view>

到这已经框对齐胶囊按钮了,但是字体内容还没对齐
在这里插入图片描述

样式

写样式对齐

.main-title {/*必要 对齐胶囊按钮*/display: flex;align-items: center;}

vue2代码

 titleTop: 0,statusBarHeight: 0,onReady() {let that = this;// 获取胶囊按钮位置信息const menuButtonInfo = uni.getMenuButtonBoundingClientRect();const { top, height } = menuButtonInfo;const statusBarHeight = uni.getSystemInfoSync().statusBarHeight;// 计算标题需要偏移的位置const titleTop = top + (height - statusBarHeight) / 2;this.titleTop = titleTop;//设置标题顶部距离this.statusBarHeight = statusBarHeight;//设置状态栏高度},<view class="indexPage" :style="{paddingTop: titleTop + 'px'}"><view class="main-title" :style="{height: sBarHeight +'px'}">{{tenantName}}</view>
</view>.main-title {/*必要 对齐胶囊按钮*/display: flex;align-items: center;
}

vu3代码

const sBarHeight = ref<any>(uni.getSystemInfoSync().statusBarHeight)
const titleTop = ref<any>(0)import {onLoad,  } from '@dcloudio/uni-app'
onLoad(async (options: any) => {const menu = uni.getMenuButtonBoundingClientRect()titleTop.value = menu.top + (menu.height - sBarHeight.value) / 2;//顶部标题对齐console.log("✈️menu===", menu);})<view class="indexPage" :style="{paddingTop: titleTop + 'px'}"><view class="main-title" :style="{height: sBarHeight +'px'}">{{tenantName}}</view>
</view>.main-title {/*必要 对齐胶囊按钮*/display: flex;align-items: center;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/34338.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

钢筋计在工程项目中的关键应用与优势

在长期工程项目中&#xff0c;如大型桥梁、高层建筑或深基坑工程中&#xff0c;钢筋是承载结构的重要组成部分。为确保工程质量和安全&#xff0c;监测与管理钢筋的状态至关重要。钢筋计作为一种先进的监测工具&#xff0c;在长期工程项目中发挥着不可替代的作用。 1. 钢筋计的…

赶紧收藏!2024 年最常见的操作系统面试题(五)

上一篇地址&#xff1a;赶紧收藏&#xff01;2024 年最常见的操作系统面试题&#xff08;四&#xff09;-CSDN博客 九、请解释什么是I/O多路复用&#xff0c;以及它如何提高性能&#xff1f; I/O多路复用是一种在计算机编程中用于处理多个输入/输出&#xff08;I/O&#xff0…

实现全球平台软件业务的快速部署

要实现全球平台软件业务的快速部署&#xff0c;可以遵循以下清晰的步骤和策略&#xff0c;这些步骤结合了参考文章中的相关信息和最佳实践&#xff1a; 1. 选择云部署策略&#xff1a; - 利用云计算平台&#xff0c;佰优联的全球节点&#xff0c;以节省前期投资和缩短应用部…

Spring Boot 学习第八天:AOP代理机制对性能的影响

1 概述 在讨论动态代理机制时&#xff0c;一个不可避免的话题是性能。无论采用JDK动态代理还是CGLIB动态代理&#xff0c;本质上都是在原有目标对象上进行了封装和转换&#xff0c;这个过程需要消耗资源和性能。而JDK和CGLIB动态代理的内部实现过程本身也存在很大差异。下面将讨…

Guacd运行一段时间后,不能创建与远程主机的连接,重启方能解决

问题表象&#xff1a; 使用guacamole搭建远程桌面访问&#xff0c;使用guacamole版本为1.5.4。连接远程主机使用rdp协议。运行过程中发现&#xff0c;各几个小时&#xff0c;guacamole连接就会断连&#xff0c;点击重新连接一直是连接不上&#xff0c;重启guacd后&#xff0c;点…

网络编程基础语法

网络编程 Java.net.*包下面提供了网络编程的解决方案 基本架构 C/S架构 Client客户端 需要程序员开发 用户需要安装 Server服务端 需要程序员开发实现 B/S架构 …

如何优化Java中的HashMap性能?

如何优化Java中的HashMap性能&#xff1f; 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在Java开发中&#xff0c;HashMap是一种常用的数据结构&#xff0c…

筛斗数据:数据提取,连接现实与未来的桥梁

在当今快速发展的数字化时代&#xff0c;数据已经成为推动社会进步和科技创新的重要力量。而数据提取技术&#xff0c;作为连接现实与未来的桥梁&#xff0c;正日益展现出其独特的魅力和价值。 一、数据提取技术的核心作用 数据提取技术&#xff0c;顾名思义&#xff0c;就是…

VMware Workstation搭建Windows Server2019主备AD域控详细操作步骤

版本 虚拟机版本 VMware Workstation 16 Prp 16.2.5 build-20904516 服务器系统版本 具体操作 安装第一台虚拟机服务器 首先先创建一台Windows Server2019虚拟机&#xff0c;可以参考VMware Workstation安装Windows Server2019系统详细操作步骤-CSDN博客 克隆第一台虚拟机…

创建npm私包

参考文章&#xff1a; 使用双重身份验证访问 npm | npm 中文网 私有npm包的实例详解-js教程-PHP中文网 1.注册npm账号 npm官网&#xff1a; npm | Home 2.安装node 百度挺多的&#xff0c;安装完后&#xff0c;检查是否安装成功就行 3.写一个简单的模块 创建个文件夹&am…

echarts 折线图柱状图增加点击事件

单折线图&#xff0c;可以直接监听click事件&#xff08;只有点击到折线才会触发&#xff09; this.chart.on(click, () > {console.log(点击,.s)})但很多时候&#xff0c;我们是要求点击折线图任意位置触发点击事件 而且要注意隐藏折线的操作按钮 this.chart.getZr().on…

MySQL之复制(十一)

复制 复制的问题和解决方案 数据损坏或丢失的错误 当一个二进制日志损坏时&#xff0c;能恢复多少数据取决于损坏的类型&#xff0c;有几种比较常见的类型: 1.数据改变&#xff0c;但事件仍是有效的SQL 不幸的是&#xff0c;MySQL甚至无法察觉这种损坏。因此最好还是经常检查…

Java核心知识(一):JVM

JVM 前言 文本源自微博客 (www.microblog.store),且已获授权. 一、线程 1.1 基本概念 JVM是可运行java代码的假象计算机,包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收、堆和一个存储方法域。JVM是运行在操作系统之上的&#xff0c;与硬件没有直接的交互。 1.2 运…

Stateflow快速入门系列(二):通过使用状态和转移动作来定义图行为

状态动作和转移动作是您分别在状态内部或转移上编写的指令&#xff0c;用于定义 Stateflow 图在仿真期间的行为。例如&#xff0c;下图中的动作定义了一个以试验方式验证 Collatz 猜想实例的状态机。对于给定的数值输入 &#xff0c;该图通过迭代以下规则来计算冰雹序列 &…

Android10 Settings系列(六)Settings中toolbar 的基本流程,和Activity如何关联,这可能是比较详细的分析

一、前言 写在前面:一个快捷栏,音量浮窗快捷进入设置界面,点击左上角返回键拉起设置首页问题引发的思考和解决方法 事情的起因是测试报了一个问题。在Android9的一个设备在点击音量键时,在弹出的弹框中,点击设置图标快速进入音量设置中,点击左上角返回按钮是,退出当前界…

使用宝塔安装Nginx,使用Nginx代理本地项目出现PC端使用移动端样式导致页面错乱

使用宝塔安装Nginx&#xff0c;使用Nginx代理本地项目出现PC端使用移动端样式导致页面错乱 解决方案 把 /www/server/nginx/conf/proxy.conf 里的 proxy_cache cache_one; 注释掉 proxy_temp_path /www/server/nginx/proxy_temp_dir; proxy_cache_path /www/server/nginx/pro…

Unity3D 拖拽赋值组件与通过Find赋值组件的优点与缺点详解

Unity3D是一款广泛应用于游戏开发的跨平台游戏引擎&#xff0c;它提供了丰富的功能和工具&#xff0c;方便开发者创建各种类型的游戏。在Unity3D开发中&#xff0c;我们经常需要对游戏对象的组件进行操作和赋值。拖拽赋值组件和通过Find赋值组件是常用的两种方式&#xff0c;它…

如何在Microsoft Edge中安装扩展:逐步指南

引言 Microsoft Edge浏览器是一款现代化的网络浏览器&#xff0c;提供了丰富的功能和定制选项&#xff0c;其中之一就是通过安装扩展来增强浏览器的功能。扩展可以帮助用户实现个性化浏览体验&#xff0c;从广告拦截到语言翻译&#xff0c;应有尽有。本文将详细介绍如何在Edge…

ChatGPT 桌面客户端正式发布

适用于 macOS 的 ChatGPT 客户端现已可供所有用户下载使用[1]。 使用 Option Space 快捷键可以即可访问 ChatGPT&#xff0c;可以对话电子邮件&#xff0c;选中文字、图片、和屏幕上的任何内容&#xff01;

Oracle Sequence使用总结

Oracle Sequence使用总结如下&#xff1a; 一、定义与特点 Oracle Sequence是Oracle数据库中用于生成唯一数值的数据库对象。它常被用于为表中的记录自动产生唯一序号&#xff0c;如主键值&#xff0c;以标识记录的唯一性。其主要特点包括&#xff1a; 由用户创建并可以被多…