欢迎到专业群( uni-app x技术交流群 ) 咨询,群中有相关专业的管理员和群友。
这个问题在 uni-app x 里属于“设计稿基准”和“逻辑像素”的理解差异,不是 iPhone 13 Pro Max 显示异常。
官方推荐按 390px 设计稿来做,意思是按 1x 逻辑像素出图,然后样式里直接使用 px。这里的 px 不是物理像素,而是逻辑像素。iPhone 13 Pro Max 屏幕物理分辨率更高,但系统会按自己的缩放比例把逻辑像素映射到物理像素,所以同样写 16px,在不同 iPhone 上看到的实际物理像素数会不同,这是正常现象。
所以如果你现在觉得“字特别小”,通常不是单位错了,而是下面几种情况之一:
- 设计稿不是按 390 逻辑宽度出的,而是按更大宽度出的,比如 750、1080、1242 之类
- 你把设计稿上的 px 当成了必须 1:1 照抄的物理像素
- 你在字体、边框、间距、高度上大量使用了 rpx,导致不同设备上观感不稳定
- 你期望“所有屏幕都按设计稿等比放大”,但 uni-app x 官方并不推荐这种思路
官方的统一思路其实已经很明确了:
- 普通尺寸、字体、边框、圆角、间距:用 px
- 只有确实需要跟随屏幕宽度变化的宽度:才用 rpx
- 需要占满剩余空间:优先用 flex: 1
- 宽屏、平板、折叠屏:不要做全页面等比缩放,而是做布局适配
你可以直接看官方文档里对 rpx 的说明,里面明确说了不推荐把 rpx 用在 font-size、height、padding、margin、边框、阴影上:
长度单位说明
针对你说的 iPhone 13 Pro Max 上字小,建议这样处理:
1. 先确认设计稿基准
如果设计稿是 390 宽,那就按 1x 逻辑像素直接写 px。
比如设计稿里按钮高 44,就写:
.btn {
height: 44px;
line-height: 44px;
font-size: 16px;
}
本助手使用国产模型,生成代码准确率较低。强烈建议使用uni-agent生成代码
不要再去乘比例,也不要再换算成 rpx。
2. 字体不要跟着屏幕宽度缩放
字体建议直接定义几档固定值,比如:
.text-small {
font-size: 12px;
}
.text-normal {
font-size: 14px;
}
.text-title {
font-size: 16px;
}
.text-large {
font-size: 18px;
}
本助手使用国产模型,生成代码准确率较低。强烈建议使用uni-agent生成代码
官方文档也明确说了,App 平台字体推荐用 px,不推荐 rpx;很多场景甚至直接用默认 16px 就够了。
font-size 文档
3. 不要追求“所有手机都和设计稿一模一样大”
这是很多人最容易误解的地方。
uni-app x 的思路不是把 390 设计稿等比放大到每一台设备,而是让界面在不同设备上保持合理尺寸和布局。
也就是说:
- iPhone 13 Pro Max 上字看起来比小屏机“没那么大”,是正常的
- 不应该为了大屏手机,把字体整体再放大一圈
- 真正该适配的是布局,不是把所有元素等比例拉大
4. 如果设计稿不是 390,而是 750 或其他宽度
那就不要直接把设计稿尺寸原样搬进代码。
正确做法是让设计师按 1x 逻辑像素重新标注,或者你们内部先统一换算规则。
例如设计稿是 750 宽,而你按 390 逻辑宽度开发,那么设计稿上的尺寸不能简单除以 2 后到处乱用,而是要先区分:
- 哪些是固定尺寸
- 哪些是弹性区域
- 哪些才是真正需要随屏宽变化的宽度
否则你会陷入“每个页面都在换算”的状态,后面维护很痛苦。
5. 如果你就是觉得默认字体偏小
可以适当把正文字号从 14px 调到 15px 或 16px,标题再往上走。
但这应该是“统一字号规范”的调整,不是为了某一台手机单独放大。
比如:
.body-text {
font-size: 15px;
}
.section-title {
font-size: 17px;
}
本助手使用国产模型,生成代码准确率较低。强烈建议使用uni-agent生成代码
6. 不建议再回退到 rpx 全套方案
你现在既然已经彻底抛弃 rpx,那就坚持 px 是对的。
因为从官方文档和 issue 反馈看,rpx 在字体、圆角、输入框等场景上本来就有很多边界问题,而且性能也不如 px。
比如官方 issue 里也明确提到过 input 某些版本不支持 rpx,建议不要用:
ISSUE 系统
还有 border-radius 用 rpx 在 iOS 上表现异常的问题:
ISSUE 系统
最后给你一个可执行的统一方案
你们团队可以直接定这套规范:
- 设计稿统一按 390px 宽出图
- 页面样式全部使用 px
- 字体只做固定档位,不做屏幕宽度缩放
- 只有极少数需要跟随屏宽的组件宽度才用 rpx
- 大屏、平板、折叠屏通过布局和 max-width 适配,不做整页等比缩放
- 如果觉得 iPhone 13 Pro Max 字小,就整体把字号规范上调 1px 到 2px,而不是换回 rpx
如果你愿意,我可以直接按你们现在的设计稿尺寸,给你整理一套“uni-app x 字号、间距、按钮、卡片”的 px 规范表。
1 个回复
Ask小助手 - Ask社区AI助手
这个问题在 uni-app x 里属于“设计稿基准”和“逻辑像素”的理解差异,不是 iPhone 13 Pro Max 显示异常。
官方推荐按 390px 设计稿来做,意思是按 1x 逻辑像素出图,然后样式里直接使用 px。这里的 px 不是物理像素,而是逻辑像素。iPhone 13 Pro Max 屏幕物理分辨率更高,但系统会按自己的缩放比例把逻辑像素映射到物理像素,所以同样写 16px,在不同 iPhone 上看到的实际物理像素数会不同,这是正常现象。
所以如果你现在觉得“字特别小”,通常不是单位错了,而是下面几种情况之一:
官方的统一思路其实已经很明确了:
你可以直接看官方文档里对 rpx 的说明,里面明确说了不推荐把 rpx 用在 font-size、height、padding、margin、边框、阴影上:
长度单位说明
针对你说的 iPhone 13 Pro Max 上字小,建议这样处理:
1. 先确认设计稿基准
如果设计稿是 390 宽,那就按 1x 逻辑像素直接写 px。
比如设计稿里按钮高 44,就写:
不要再去乘比例,也不要再换算成 rpx。
2. 字体不要跟着屏幕宽度缩放
字体建议直接定义几档固定值,比如:
官方文档也明确说了,App 平台字体推荐用 px,不推荐 rpx;很多场景甚至直接用默认 16px 就够了。
font-size 文档
3. 不要追求“所有手机都和设计稿一模一样大”
这是很多人最容易误解的地方。
uni-app x 的思路不是把 390 设计稿等比放大到每一台设备,而是让界面在不同设备上保持合理尺寸和布局。
也就是说:
4. 如果设计稿不是 390,而是 750 或其他宽度
那就不要直接把设计稿尺寸原样搬进代码。
正确做法是让设计师按 1x 逻辑像素重新标注,或者你们内部先统一换算规则。
例如设计稿是 750 宽,而你按 390 逻辑宽度开发,那么设计稿上的尺寸不能简单除以 2 后到处乱用,而是要先区分:
否则你会陷入“每个页面都在换算”的状态,后面维护很痛苦。
5. 如果你就是觉得默认字体偏小
可以适当把正文字号从 14px 调到 15px 或 16px,标题再往上走。
但这应该是“统一字号规范”的调整,不是为了某一台手机单独放大。
比如:
6. 不建议再回退到 rpx 全套方案
你现在既然已经彻底抛弃 rpx,那就坚持 px 是对的。
因为从官方文档和 issue 反馈看,rpx 在字体、圆角、输入框等场景上本来就有很多边界问题,而且性能也不如 px。
比如官方 issue 里也明确提到过 input 某些版本不支持 rpx,建议不要用:
ISSUE 系统
还有 border-radius 用 rpx 在 iOS 上表现异常的问题:
ISSUE 系统
最后给你一个可执行的统一方案
你们团队可以直接定这套规范:
如果你愿意,我可以直接按你们现在的设计稿尺寸,给你整理一套“uni-app x 字号、间距、按钮、卡片”的 px 规范表。
要回复问题请先登录或注册
公告
更多>相关问题