複製鏈接
請複製以下鏈接發送給好友

upx

(uniapp前端框架的尺寸單位)

鎖定
uni-app 使用 upx 作為默認尺寸單位, upx 是相對於基準寬度的單位,可以根據屏幕寬度進行自適應。uni-app 規定屏幕基準寬度750upx。
中文名
upx
基於框架
uni-app
目前狀態
已經棄用,但是仍然可用

upx基本方法

開發者可以通過設計稿基準寬度計算頁面元素 upx 值,設計稿 1px 與框架樣式 1upx 轉換公式如下:
設計稿 1px / 設計稿基準寬度 = 框架樣式 1upx / 750upx
upx在2018年就推出了,其初衷是為了讓微信的rpx機制可以跨全端使用。
在普通css寫法裏,upx會被編譯器編譯。但動態綁定時,upx無法被準確編譯,此時官方提出了使用uni.upx2px方法,用來動態計算。
後來其他幾家小程序平台陸續都兼容了rpx機制,rpx不再是微信的專用單位,而成為了這個行業的通用單位。
最近官方收到很多開發小程序的用户投訴upx不能像rpx那樣直接支持動態綁定,還得再使用uni.upx2px方法。
官方反思了策略,既然微信不可能支持upx的動態綁定,不如我們在App端和H5端來支持rpx的動態綁定。這樣rpx就可以全端通用,且支持動態綁定,不再需要uni.upx2px方法。

upx注意事項

從HBuilderX 2.0.5起,已經支持rpx的正常着色和px2rpx的ide代碼提示轉換功能。
官方也修改了uni-app文檔中關於尺寸單位的介紹,不再推薦upx的使用,而推薦rpx。
這個策略調整,不影響開發者的已有代碼正常運行。
開發者仍然可以使用upx和uni.upx2px,也可以改用rpx,都可以。沒有必要批量調整老代碼。但新開發還是應該使用rpx。
順便提醒另一個事情,很多開發者對響應式單位依賴太嚴重了,比如組件高度或字體大小也使用upx/rpx。
注意只有當你需要某元素的單位要根據屏幕寬度大小變化時,才需要rpx這類動態寬度單位。
一般情況下高度和字體大小是不應該根據屏幕寬度變化的。