注意:本文仅对使用过HBuilderX 0.1.45-48的用户有意义,集中在2018年8月。之后的用户无需关心此文。
自HBuilderX 0.1.49 之后创建的uni-app项目,使用 rpx(upx) 作为响应式尺寸单位,rpx 可以根据屏幕宽度进行自适应;在新创建的uni-app项目中,px 是传统css尺寸单位。
但历史版本的uni-app曾使用 px 作为响应式尺寸单位(作用同 rpx ),uni-app 框架保留了对历史创建项目的向下兼容,开发者可按如下方式维护升级历史项目。
方案1:继续保留 px 为响应式尺寸单位
uni-app 历史项目可以继续将 px 作为响应式尺寸单位,继续之前的尺寸换算,框架会自动处理。
Tips 1:动态绑定的 style不支持响应式尺寸单位
<!-- - 静态px赋值,此时为响应式单位 -->
<view class="test" style="width:200px"></view>
<!-- - 动态绑定不生效,此时变成传统css单位 -->
<view class="test" :style="{width:winWidth + 'px;'}"></view>
Tips 2:若在历史项目中引入了使用px作为传统css尺寸单位的的示例组件,比如 hello uni-app 中新增的 多列选择、联动选择示例(含城市选择),则会导致同一项目中,px既作为响应式尺寸单位,又作为传统css尺寸单位,导致混乱,此时建议按照如下方案2的步骤,将历史项目的px升级替换为rpx(注意更改manifest.json文件),然后再引入使用px作为传统css尺寸单位的的示例组件
方案2:使用 rpx 作为响应式尺寸单位
开发者可以按如下步骤将 px 升级为 rpx:
- 全局搜索 px 替换为 rpx
- 在manifest.json根节点下,增加"transformPx":false
注意:如此替换升级后,px 恢复为传统的css尺寸单位,不再根据屏幕宽度自动响应。
9 个评论
要回复文章请先登录或注册
指尖上的代码
1***@qq.com
堂吉诃德
堂吉诃德
zting590
1***@163.com
极客道人
a***@163.com
1***@qq.com