【uniapp】uniapp设置改变全局字体大小功能:

文章目录

        • 一、效果:
        • 二、文档:
        • 三、案例:引用插件,将项目中的字体单位rpx换成rem,结合官网提供的page-meta属性,通过控制根字体大小,达到调节字体大小要求。


一、效果:

image.png
image.png
image.png
image.png

二、文档:

**思路:**通过保存需要的字体大小,然后在页面设置page-meta设置根节点大小,来实现控制字体的大小
custom-tab-bar | uni-app官网
uniapp改变设置改变全局字体大小功能_uniapp根据设计稿设置根元素的字体大小-CSDN博客
uniapp设置字体大小,老年模式

三、案例:引用插件,将项目中的字体单位rpx换成rem,结合官网提供的page-meta属性,通过控制根字体大小,达到调节字体大小要求。

1.安装第三方插件postcss-px-to-viewport

npm install postcss-px-to-viewport --save-dev

2.项目根目录创建postcss.config.js,并写入配置:

// postcss.config.jsconst path = require('path')
module.exports = {parser: 'postcss-comment',plugins: {'postcss-import': {resolve(id, basedir, importOptions) {if (id.startsWith('~@/')) {return path.resolve(process.env.UNI_INPUT_DIR, id.substr(3))} else if (id.startsWith('@/')) {return path.resolve(process.env.UNI_INPUT_DIR, id.substr(2))} else if (id.startsWith('/') && !id.startsWith('//')) {return path.resolve(process.env.UNI_INPUT_DIR, id.substr(1))}return id}},'autoprefixer': {overrideBrowserslist: ["Android >= 4", "ios >= 8"],remove: process.env.UNI_PLATFORM !== 'h5'},// 借助postcss-px-to-viewport插件,实现rpx转px,文档:https://github.com/evrone/postcss-px-to-viewport/blob/master/README_CN.md// 以下配置,可以将rpx转换为1/2的px,如20rpx=10px,如果要调整比例,可以调整 viewportWidth 来实现'postcss-px-to-viewport': {unitToConvert: 'rpx', // 需要转换的单位viewportWidth: 750,unitPrecision: 5,propList: ['*'],fontViewportUnit: 'rem', // 字体需要转成的单位,只针对 font-size 属性selectorBlackList: [],minPixelValue: 1,mediaQuery: false,replace: true,exclude: undefined,include: undefined,landscape: false},'@dcloudio/vue-cli-plugin-uni/packages/postcss': {}}
}

3.根据页面设置,vuex取出设置大小

<template><view><view class="uni-padding-wrap uni-common-mt" style="margin-top: 50rpx;"><view class="titleBox"><view style="font-size:25rpx">小</view><view style="font-size:30rpx">标准</view><view style="font-size:35rpx">中</view><view style="font-size:40rpx">大</view></view><view><slider min="2.6" max="5.6" :value="fontValue" @change="sliderChange" show-value step="1"/></view></view></view>
</template>
<script>export default {data() {return {fontValue:3.6,}},onLoad() {this.fontValue = this.$store.state.scaleFontSize},methods: {sliderChange(e) {// console.log('value 发生变化:' + e.detail.value)this.$store.commit('setScaleFontSize',e.detail.value)console.log(this.$store.state.scaleFontSize)// 使用uni.reLaunch跳转到某个页面,并关闭所有页面uni.reLaunch({url:"../login/login"})},}}
</script>
<style>.titleBox{width: 80%;display: flex;align-items: center;justify-content: space-between;margin: 30upx 0;margin-left: 5%;}</style>

4.在每个页面中通过添加page-meta调节,page-meta 配置项参考链接

<template><page-meta :root-font-size="`${this.$store.state.scaleFontSize}px`"></page-meta><view></view>
</template>

此种方法navbar和tabbar的字体大小不能改变。

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

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

相关文章

Bash Shell中双引号中的感叹号问题详解

Bash Shell中双引号中的感叹号问题详解 在Bash Shell中&#xff0c;感叹号(!)是一个特殊字符&#xff0c;主要用于历史扩展。历史扩展允许你使用!来引用历史命令。然而&#xff0c;当你在双引号中使用感叹号时&#xff0c;如果你在双引号中直接使用感叹号&#xff0c;它可能会…

redis cpu百分百问题

系统使用spring cloud alibaba微服务框架&#xff0c;应用使用K8S发布&#xff0c;使用redis作为缓存数据库&#xff0c;运行一段时间之后开发反应早高峰时整个系统响应缓慢&#xff0c;排查发现服务网关gateway的pod健康状态频繁unhealthy&#xff0c;导致重启&#xff0c;且此…

冯米塞斯应力(von Mises stress)云图的MATLAB计算方法

关注 M r . m a t e r i a l , \color{Violet} \rm Mr.material\ , Mr.material

代码随想录算法训练营第46天 | 完全背包,139.单词拆分

动态规划章节理论基础&#xff1a; https://programmercarl.com/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 完全背包理论基础&#xff1a; https://programmercarl.com/%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98%E7%90%86%E8%AE%BA%E5%9…

全网最全的幻兽帕鲁服务器搭建教程——阿里云保姆级教程

玩转幻兽帕鲁服务器&#xff0c;阿里云推出新手0基础一键部署幻兽帕鲁服务器教程&#xff0c;傻瓜式一键部署&#xff0c;3分钟即可成功创建一台Palworld专属服务器&#xff0c;成本仅需26元&#xff0c;阿里云服务器网aliyunfuwuqi.com分享2024年新版基于阿里云搭建幻兽帕鲁服…

DVWA靶场-SQL InjectionSQL注入

SQL Injection&#xff08;SQL注入&#xff09;概念 就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串&#xff0c;最终达到欺骗服务器执行恶意的SQL命令。具体来说&#xff0c;它是利用现有应用程序&#xff0c;将&#xff08;恶意&#xff09;的SQL命令注…

YOLOv2学习

YOLOv2学习 Anchor boxes 和 bounding boxes 的区别锚框&#xff08;Anchor Boxes&#xff09;边界框&#xff08;Bounding Boxes&#xff09;锚框与边界框的区别 摘要引言数据集组合方法&#xff08;Dataset Combination Method&#xff09;联合训练算法&#xff08;Joint Tra…

Python AI 之PhotoMaker 安装总结

PhotoMaker 官方文档 PhotoMaker GitHub 地址:https://github.com/TencentARC/PhotoMaker PhotoMaker Windows 安装 温馨提示&#xff1a;PhotoMaker 官网github 版本为通用版本&#xff0c;如果是Windows系统安装PhotoMarker 需要使用截图下的版本&#xff1a; 第一步&am…

nvm安装和使用保姆级教程(详细)

一、 nvm是什么 &#xff1a; nvm全英文也叫node.js version management&#xff0c;是一个nodejs的版本管理工具。nvm和npm都是node.js版本管理工具&#xff0c;为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。 二、卸载之前安装的node: …

【Spring MVC】Spring MVC拦截器(Interceptor)

目录 一、拦截器介绍 二、拦截器 Interceptor 定义 2.1 HandlerInterceptor接口 2.2 Spring MVC中提供的一些HandlerInterceptor接口实现类 1、AsyncHandlerInterceptor 2、WebRequestInterceptor 3、MappedInterceptor 4、ConversionServiceExposingInterceptor 三、拦…

creator-webview加载优化

title: creator-webview加载优化 categories: Cocos2dx tags: [cocos2dx, creator, webview, 优化, 加载, 性能] date: 2024-03-02 13:17:20 comments: false mathjax: true toc: true creator-webview加载优化 前篇 Android WebView shouldInterceptRequest - https://www.ji…

Cesium.js计算两个地理坐标点之间按照1米为间隔进行等分的所有插值点的经纬度坐标

功能介绍&#xff1a; 首先&#xff0c;定义了两个地理坐标点 point1 和 point2&#xff0c;分别表示两个点的经度、纬度和高度。接着&#xff0c;通过 Cesium.Cartesian3.distance 方法计算了两点之间的直线距离。然后&#xff0c;根据直线距离将两点之间的距离进行等分&#…

Linux——动静态库的制作及使用与动态库原理

目录 一、静态库 1.静态库的制作 2.静态库的使用 加载静态库方法一&#xff1a;安装头文件与库文件 加载静态库方法二&#xff1a;指定文件目录 二、动态库 1.动态库的制作 2.动态库的使用 方法一&#xff1a;安装到系统中 方法二&#xff1a;软链接 方法三&…

新火种AI|英伟达GTC大会在即,它能否撑住场面,为AI缔造下一个高度?

作者&#xff1a;小岩 编辑&#xff1a;彩云 英伟达不完全属于AI行业&#xff0c;但神奇的是&#xff0c;整个AI领域都有着英伟达的传说。因为几乎所有的AI巨头都需要英伟达的芯片来提供算力支持。 也正因此&#xff0c;纵使AI赛道人来人往&#xff0c;此起彼伏&#xff0c;…

Session会话绑定

1.需求原因 用户的请求,登录的请求,经过负载均衡后落到后面的web服务器上,登录的状态/信息也会记录在web服务器上,就会导致不通的web服务器上,登录状态不统一,造成用户频繁需要登录 2.目标&#xff1a;如何实现会话保持/会话共享 方案一&#xff1a;登录状态写入cookie中.(wor…

阿里云服务器centos安装msf教程

msf官方命令行一键安装 curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall 稍微等待几分钟即可安装成功&am…

数据结构(四)——串的模式匹配

4.2 串的模式匹配 4.2.1_朴素模式匹配算法 字符串模式匹配&#xff1a;在主串中找到与模式串相同的⼦串&#xff0c;并返回其所在位置 主串⻓度为n&#xff0c;模式串⻓度为 m 朴素模式匹配算法&#xff1a;将主串中所有⻓度为m的⼦串依次与模式串对⽐&#xff0c;直到找到⼀…

JavaScript语法

* number 数字&#xff0c;不论是整数还是小数&#xff0c;数据类型都是number * string 字符串&#xff0c; * boolean 布尔值&#xff0c;只有两个&#xff0c;true和false. 只有python中是首字母大写 * object 对象&#xff0c;这个比较特殊.你可以理解为所有被new出来的东西…

代码随想录刷题day27|组合总和II组合总和II分割回文串

文章目录 day27学习内容一、组合总和-所选数字可重复1.1、代码-正确写法1.1.1、为什么递归取的是i而不是i1呢&#xff1f; 二、组合总和II-所选数字不可重复2.1、和39题有什么不同2.2、思路2.2.1、初始化2.2.2、主要步骤2.2.3、回溯函数 backTracking 2.3、正确写法12.3.1、为什…

【 如何使用路由建立多视图单页应用】的详细讲解

使用路由建立多视图单页应用 1. 多视图1.1 引入依赖库1.2 创建自定义组件 2. React&#xff08;使用React Router&#xff09;3. Angular&#xff08;使用Angular Router&#xff09;4. Vue&#xff08;使用Vue Router&#xff09; 1. 多视图 构建多视图的单页应用程序&#x…