當前有個項目頁面中彈框是用固定定位做的,需要利用top值讓其居中。那麼就需要計算top具體是多少;
當然計算方式是比較簡單的:
top:(窗口高度-彈框高度)/ 2
那麼彈框高度使用rpx設置的,然而通過wx.getSystemInfoSync.windowHeight獲取的窗口高度是px值。
這就需要先將窗口高度轉換成rpx值才行。
那麼需要下計算轉換比率。其實在小程序中還是比較簡單的,小程序屏幕固定750rpx來做的適配(與機型無關,任何機型設置750rpx即可全屏鋪滿)。
因此可以知道1rpx = (屏幕寬度/750)px。如iphone6中屏幕寬度375px,則1rpx=0.5px
其轉化比率計算如下:
let rate=750 / res.windowWidth; //px轉換rpx
let reverseRatio=res.windowWidth / 750; //rpx轉換px
怎麼使用呢?
let windowHeight = wx.getSystemInfoSync().windowHeight
let rate = 750 / windowWidth
let marginTop = windowHeight * rate // 將屏幕高度轉成了 rpx 值