微信小程序:列表项上同样的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; /* 强制按实际字号渲染 */
相关推荐
前端呆猿36 分钟前
深入解析HTML5中的object-fit属性
前端·css·html5
路灯下的光2 小时前
用scss设计一下系统主题有什么方案吗
前端·css·scss
一只小风华~3 小时前
CSS @media 媒体查询
前端·css·媒体
吴Wu涛涛涛涛涛Tao11 小时前
基于TCA构建Instagram克隆:SwiftUI状态管理的艺术
ios·swiftui
复苏季风13 小时前
CSS 布局小技巧:用 padding 撑开 div 不香吗?
css
不死鸟.亚历山大.狼崽子13 小时前
Syntax Error: Error: PostCSS received undefined instead of CSS string
前端·css·postcss
不在了情绪17 小时前
CSS 基础语法 + 弹性盒子
前端·css
咸虾米1 天前
微信小程序服务端api签名,安全鉴权模式介绍,通过封装方法实现请求内容加密与签名
vue.js·微信小程序·uni-app
狂炫一碗大米饭1 天前
每个前端开发人员都应该知道的 6 大 CSS 框架
css·scss
2501_915921431 天前
iOS 应用上架多环境实战,Windows、Linux 与 Mac 的不同路径
android·ios·小程序·https·uni-app·iphone·webview