微信小程序 全局字体控制(字体大小)

本文探讨了使用Taro+scss+redux框架实现全局字体大小控制的方法。最初设想通过JS动态调整SCSS变量来改变所有页面的字体大小比例,但最终采用预设不同字体大小类名并由JS切换的方式实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现在要做一个全局字体大小控制的功能

此处的字体大小不是指字号, 而是全局的一个大小比例控制(0.7倍、1倍、1.5倍这样)

框架是Taro+scss+redux

 

预想是通过js控制scss里的变量,即在全局scss文件里设变量值$fontSizeMultiple(默认值为1)

然后通过页面上的点击操作,即js控制该值的数值,来控制所有页面的字体规格(所有页面的scss文件中的字体,在设置时都会乘以该公共值)

 

设想是这样的,是否可行,以及如何实现,还在摸索。

尝试两周,出了几版效果  但是都达不到目标要求。。

年底其他项目推进,该功能暂时搁置

 

2020/6/4

 

目前功能是实现了, 不过并没有做到上文所说js控制scss变量,

而是常规的,在scss里预设了对应字号的所有样式内容,  通过不同的顶部字体类名控制。

js控制不同倍数下在xml里的最外层标签的字体类名,借而加载不同类名下挂载的对应字体及样式控制。

 

tips: 这么搞还是会预设很多样式代码。  还是没有达到当初只控制font-size值的目标QAQ

### 回答1: 可以在app.wxss文件中设置全局字体大小,例如: ```css /* app.wxss */ :root { --font-size: 28rpx; /* 定义全局字体大小 */ } /* 将全局字体大小应用到所有元素 */ * { font-size: var(--font-size); } ``` 然后在其他页面的wxss文件中使用`var(--font-size)`引用全局字体大小即可。如: ```css /* page.wxss */ .title { font-size: calc(var(--font-size) * 2); /* 使用全局字体大小的两作为标题字体大小 */ } ``` ### 回答2: 微信小程序可以通过修改全局样式的方式设置全局字体大小。 首先,在小程序的app.wxss文件中添加如下样式代码: ``` :root { --font-size: 16px; /* 设置默认字体大小 */ } ``` 然后,在需要使用的页面的wxss文件中,使用var()函数来引用全局字体大小: ```css .text { font-size: var(--font-size); } ``` 这样,通过修改app.wxss中的--font-size变量的值,可以轻松地改变全局字体大小。 同时,如果需要允许用户自定义字体大小,可以通过小程序的设置页面,将用户选择的字体大小存储在本地缓存中。然后,在app.js的onLaunch方法中读取缓存的字体大小,并动态修改--font-size变量的值。 ```javascript App({ onLaunch: function() { // 从缓存中获取字体大小 var fontSize = wx.getStorageSync('fontSize'); // 如果缓存存在,设置全局字体大小 if (fontSize) { wxss变量中的值 = fontSize; // 将缓存中的字体大小赋值给变量 } } }) ``` 以上就是设置微信小程序全局字体大小的方法,通过修改全局样式的方式,可以快速地实现字体大小的统一调整,并允许用户自定义字体大小。 ### 回答3: 要设置微信小程序全局字体大小,可以按照以下步骤进行操作: 1. 在app.json文件中,找到"window"字段,并添加一个"fontSize"属性,用来设置全局字体大小。例如,可以设置为"fontSize": 16,代表全局字体大小16像素。 2. 在app.wxss文件中,可以使用"rpx"作为单位来设置样式中的字体大小。根据设置的全局字体大小,其他页面中的字体大小也会相应改变。例如,可以在样式中设置".text { font-size: 32rpx; }",代表字体大小全局字体大小的2。 3. 可以在需要的地方进行局部字体大小的调整。通过在对应的页面wxss文件或组件wxss文件中,单独设置某一部分的字体大小,覆盖全局字体大小的设定。例如,在某个页面的wxss文件中设置".special-text { font-size: 24rpx; }",就可以将特定部分的字体大小设置为全局字体大小1.5。 4. 如果需要在不同的页面中设置不同的全局字体大小,可以在app.json文件的"pages"字段中,对每个页面进行单独的配置。例如,可以设置"pages": ["pages/index/index", "pages/detail/detail"],然后在每个页面的json文件中,添加对应的全局字体大小设置。 5. 除了以上方法,还可以使用动态设置字体的方式,在页面的生命周期函数中,通过调用API来动态修改字体大小。例如,在页面的onLoad函数中,使用wx.setNavigationBarTitle()函数来设置导航栏的字体大小。 综上所述,以上是设置微信小程序全局字体大小的几种方法。可以根据需求选择适合的方法来进行设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

97pra

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值