DCloud_heavensoft
DCloud_heavensoft
  • 发布:2019-07-10 18:26
  • 更新:2023-09-26 14:00
  • 阅读:86773

推荐使用rpx替代upx的公告

分类:uni-app

upx在2018年就推出了,其初衷是为了让微信的rpx机制可以跨全端使用。

在普通css写法里,upx会被编译器编译。但动态绑定时,upx无法被准确编译,此时官方提出了使用uni.upx2px()方法,用来动态计算。

后来其他几家小程序平台陆续都兼容了rpx机制,rpx不再是微信的专用单位,而成为了这个行业的通用单位。

最近官方收到很多开发小程序的用户投诉upx不能像rpx那样直接支持动态绑定,还得再使用uni.upx2px方法。

官方反思了策略,既然微信不可能支持upx的动态绑定,不如我们在App端和H5端来支持rpx的动态绑定。这样rpx就可以全端通用,且支持动态绑定,不再需要uni.upx2px方法。

从HBuilderX 2.0.5起,已经支持rpx的正常着色和px2rpx的ide代码提示转换功能。

官方也修改了uni-app文档中关于尺寸单位的介绍,不再推荐upx的使用,而推荐rpx。

这个策略调整,不影响开发者的已有代码正常运行。

开发者仍然可以使用upx和uni.upx2px,也可以改用rpx,都可以。没有必要批量调整老代码。但新开发还是应该使用rpx。

顺便提醒另一个事情,很多开发者对响应式单位依赖太严重了,比如组件高度或字体大小也使用upx/rpx。

注意只有当你需要某元素的单位要根据屏幕宽度(小范围)大小变化时,才需要rpx这类动态宽度单位。

一般情况下高度和字体大小是不应该根据屏幕宽度(等比)变化的。

42 关注 分享
quitter 3***@qq.com 忘记我是谁 Dullcat chinaLong 秋凡 2***@qq.com 句号 1***@qq.com 小_柒 sonicsunsky lifeng_dev 1***@qq.com l***@126.com w***@163.com 4***@qq.com j***@126.com 8***@qq.com enoughtal s***@163.com y***@163.com error__404 gaus DigitalYu 辉yq 2***@qq.com 7***@qq.com wuyuchao333 永福 d***@163.com 1***@qq.com 猫儿爱吃鱼 奋斗的小乌龟 2***@qq.com x***@163.com 让我学习 2***@qq.com 1***@qq.com 码上发掉 2***@qq.com 1***@163.com DCloud_UNI_HRK

要回复文章请先登录注册

1***@qq.com

1***@qq.com

回复 1***@qq.com :
嗨嗨,是我傻逼了,在不同的分辨率下测试,抱歉,无此类问题
2020-03-19 11:27
1***@qq.com

1***@qq.com

怪异现象,动态绑定style编译后h5实际会小1个像素,28rpx编译后应该是14px,h5却是13px,版本2.6.5,求解:代码 <view :style=" 'font-size:' + size + 'rpx' "> ,size=28
2020-03-19 11:23
落花时节

落花时节

关于最后一句不太赞同。低分辨率下开发,如果不用 rpx或者upx,一旦放到高分屏上,字体和高度相对于屏幕会显得很小
2020-01-17 10:48
课链科技

课链科技

回复 DCloud_heavensoft :
有什么解决办法吗,一个旋转横屏项目,文本忽大忽小
2019-12-28 12:48
lifeng_dev

lifeng_dev

最后一句说的很对
2019-12-25 11:08
DCloud_heavensoft

DCloud_heavensoft (作者)

回复 8***@qq.com :
app-nvue没有vh,其他环境均由webview渲染, 都有vh。rpx是所有平台都能用,但注意它的用途,单位有很多,详见单位尺寸文档 https://uniapp.dcloud.io/frame?id=%e5%b0%ba%e5%af%b8%e5%8d%95%e4%bd%8d
2019-12-23 04:16
8***@qq.com

8***@qq.com

问题1:在用uni-app开发app的时候,vh是否可以还能用呢?;
问题2: 现在版本的uni-app是否直接用rpx就行了,就能实现兼容多端适配?
2019-12-22 22:34
DCloud_heavensoft

DCloud_heavensoft (作者)

回复 1***@qq.com :
实际效果不同,当屏幕旋转变宽后,rpx仍然会以之前的屏幕宽度为原则,就会异常。而普通css写法会重新适应
2019-12-04 23:09
1***@qq.com

1***@qq.com

回复 DCloud_heavensoft :
可这样的效果实际和rpx是相同的,只是方法不同。我是说高度还是应该变的
2019-12-04 17:29
DCloud_heavensoft

DCloud_heavensoft (作者)

回复 1***@qq.com :
方法很多,flex的撑满、vh、100%都可以
2019-12-04 17:22