需关闭HBuilderX的px转rpx功能:先在【设置】→【语言服务设置】中取消“启用px自动转换为rpx”,清空“设计稿宽度”;再检查并禁用px2rpx等插件;最后排查构建工具如postcss-rpx插件。

HBuilderX里关掉px自动转rpx的开关
如果你在写样式时输入 100px,结果保存后自动变成 200rpx,说明 HBuilderX 的 px→rpx 自动转换已启用。这不是 uni-app 框架行为,而是编辑器的代码辅助功能,必须进设置里手动关闭。
操作路径:【设置】→【语言服务设置】→ 找到 “uni-app” 或 “rpx” 相关选项 → 取消勾选 “启用 px 自动转换为 rpx” 或类似名称的复选框。不同版本 HBuilderX 文字略有差异,但关键词一定是 “px”、“rpx”、“自动转换”。
注意:重启 HBuilderX 才生效;不重启的话,旧缓存仍会触发转换。
项目里禁用 HBuilderX 插件级转换(如 px2rpx)
如果关了语言服务设置还没用,大概率是装了第三方插件(比如 px2rpx),它会在你按 Ctrl + S 时扫描整个文件,强行替换所有 px 字符串。
检查方式:打开 HBuilderX → 插件管理 → 已安装,搜索 px2rpx、rpx、convert 等关键词。
停用方法:
- 直接禁用或卸载该插件
- 或打开插件配置(通常在
package.json或插件自己的settings.json),把enable设为false,或删掉相关配置项 - 改完后同样需重启编辑器
为什么关不掉?检查是否误触了“设计稿基准”配置
有些开发者在 设置 → 语言服务设置 里改过 “设计稿宽度”,比如填了 375 并勾选了自动转换——这会激活底层换算逻辑,即使没开“自动转换”开关,部分版本仍会残留行为。
稳妥做法:
- 把“设计稿宽度”字段清空或设为
750(即默认值) - 确认旁边没有隐式启用的复选框(比如“根据设计稿宽度自动计算”)
- 避免在
vue文件顶部加注释如// @designWidth: 375,某些插件会识别并触发转换
代码里写了 px 却还是被转?那是编译期行为,不是编辑器问题
极少数情况:你在 <style> 块里写 font-size: 14px;,但小程序真机调试时发现实际渲染是 28rpx —— 这不是编辑器干的,而是 uni-app 的 css-loader 在构建阶段做了单位归一化(仅限某些老版本或自定义构建配置)。
验证方式:查看 dist 目录下生成的 wxss 文件,如果里面仍是 14px,说明没被转;如果变成了 28rpx,就要检查 vue.config.js 或 h5/uni.css 是否引入了 postcss-rpx 插件。
解决路径:
- 搜项目里有没有
postcss-rpx、postcss-pxtorpx等依赖 - 检查
vue.config.js中css.loaderOptions.postcss.plugins配置 - 删掉相关插件,或加
exclude: /node_modules/排除干扰
真正难缠的不是开关本身,而是多层转换机制叠加:编辑器插件、语言服务、构建工具、甚至设计师留下的注释都可能成为触发点。逐层排查比盲目重装更有效。


















