微信小程序:列表项上同样的css样式在IOS上字体大小不一样

一、问题描述

偶然看到一个奇怪的现象,在IOS上微信小程序的一个列表(

列表项应用了相同的CSS类),却出现了不同大小的字:

二、问题排查

1.Android设备及开发者工具显示正常

2.iPhone 6plus (IOS 12.5.7版本)显示正常

3.iPhone 12(IOS 16.3)版本显示异常(出现了不同大小的字)

原因分析: ‌

(1)Webkit 内核自动调整字体‌: iOS 的 Webkit 内核会根据容器宽度自动缩放字体,导致相同样式在不同容器中显示差异。

‌(2)单位使用不统一‌: 混合使用 px 和 rpx(如部分样式固定为 px),导致响应式适配失效。

(3)字体继承或覆盖问题‌: 未显式声明字体样式,部分文本节点继承了系统默认字体或父级容器的限制性样式47。

‌(4)媒体查询冲突‌: 不同屏幕尺寸的媒体查询未覆盖全部场景,特定分辨率下触发意外样式覆盖

由于是同一个列表,列表项使用了相同的css样式类,因此有可能是因为OS 的 Webkit 内核自动调整字体‌导致。

三、解决方案

在页面或者组件中禁用 Webkit 字体缩放:

复制代码
-webkit-text-size-adjust: none; /* 强制按实际字号渲染 */
相关推荐
myzshare8 小时前
实战分享:我是如何用SSM框架开发出一个完整项目的
java·mysql·spring cloud·微信小程序
sheji341610 小时前
【开题答辩全过程】以 基于微信小程序的在线学习系统为例,包含答辩的问题和答案
学习·微信小程序·小程序
@@小旭10 小时前
实现头部Sticky 粘性布局,并且点击菜单滑动到相应位置
前端·javascript·css
Irene199111 小时前
CSS 定位属性(relative、absolute、fixed、sticky)与实用技巧总结
css
是江迪呀14 小时前
小程序上线半年我赚了多少钱?
微信小程序·产品·创业
我的写法有点潮15 小时前
推荐几个国外比较流行的UI库(上)
前端·javascript·css
m0_5027249517 小时前
vue动态设置背景图片后显示异常
前端·css
@Autowire17 小时前
Layout-position
前端·css
神秘的猪头18 小时前
🎨 CSS 这种“烂大街”的技术,怎么在 React 和 Vue 里玩出花来?—— 模块化 CSS 深度避坑指南
css·vue.js·react.js
3秒一个大19 小时前
模块化 CSS:解决样式污染的前端工程化方案
css·vue.js·react.js