您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關在不同的移動設備上小程序應該怎么設置rpx單位,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
摘要: 我們在做微信小程序的開發時,經常會遇到在寫樣式表的時候發現用PX的效果不太理想的情況。日常開發中,我們常用rem、em來做響應式布局的像素單位,他們都是相對單位。rem相對于文檔的根元素,em相對于父元素。但是在 ...
我們在做微信小程序的開發時,經常會遇到在寫樣式表的時候發現用PX的效果不太理想的情況。日常開發中,我們常用rem、em來做響應式布局的像素單位,他們都是相對單位。rem相對于文檔的根元素,em相對于父元素。但是在微信小程序的官方文檔用rpx來做響應式布局單位!那什么是RPX,應該如何設置呢?今天我們就來好好了解一下。 [color=rgb(44,] 說實話,一開始沒看懂。rpx到底是個啥?又該如何理解“750rpx = 375px = 750物理像素”這句話呢? 開始之前,我們先扯一扯像素、物理長度、設備獨立像素、設備獨立像素比都是些啥? 【像素】:它不是自然界的物理長度,指基本原色素及其灰度的基本編碼。 【物理像素】:它是顯示器(電腦、手機屏幕)最小的物理顯示單位,每個物理像素由顏色值和亮度值組成。是不是有點眼熟?我們要記住物理像素指的是顯示器上最小的點。 【設備獨立像素】:它又稱密度無關像素,劃重點——密度無關,是計算機程序實際處理的虛擬像素(如css的px),由相關關系轉化為設備像素。這個相關關系就是指下面要介紹的——設備像素比 【設備像素比】:設備像素比 = 物理像素 / 設備獨立像素,單位是dpr! 還是沒有看懂?沒有關系,我們從圖片上來看一下移動設備的分辨率和rpx的關系: 以iPhone6為例: 已知,1. 設備寬高 375 * 667,在這里我們可以看做是css中的px(密度無關像素);2. retina屏幕的dpr為2。 求 iPhone6 的物理像素是多少? 送分題啊,同學們! 根據公式,我們計算出iPhone 6 的物理像素為 750 * 1334 結論: 在不同的屏幕上(普通屏幕 vs retina屏幕),css像素所呈現的大小(物理尺寸)是一致的,不同的是1個css像素所對應的物理像素個數是不一致的。 在普通屏幕下,1個css像素 對應 1個物理像素(1:1)。 在retina 屏幕下,1個css像素對應 2*2個物理像素(1:4)。 【位圖像素】:一個位圖像素是柵格圖像(如:png, jpg, gif等)最小的數據單元。每一個位圖像素都包含著一些自身的顯示信息(如:顯示位置,顏色值,透明度等)。覺得復雜?你只需要記住1px表示一個圖片最小的點。不信?我們來用PS放大一張圖片,可以看到圖片被拆分成無數個點,但無論你如何放大那些小點,他們都不能再次被拆分了,因為他們已經是像素級別的點了,已經是最小的了。 理論上,1個位圖像素對應于1個物理像素,圖片才能得到完美清晰的展示。 所以,在寬高375 * 667,dpr為2 的 iPhone 6中完美顯示200*300(css pixel)img標簽,圖片的尺寸應該為多少呢?答案是:400 * 600。 這就是我們針對iPhone 6 的設計稿的尺寸基于 750*1334 來設計的目的了。 回到正題.......rpx是啥? 有了上面的做鋪墊,我們知道了對于iPhone6 來說, 1rpx = 1物理像素,1rpx = 0.5px; 如果不是iPhone 6 呢? 1rpx = window.innerWidth/750。 1px = 1rpx * dpr。 2.樣式導入 [AppleScript] 純文本查看 復制代碼 @import "common.wxss"; @import "temp/loadBottomTemp/loadBottomTemp.wxss"; 3.內聯樣式 [AppleScript] 純文本查看 復制代碼 //動態樣式 <view style="color:{{color}};" /> style="width:{{imageWidth}}rpx;height:{{imageHeight}}rpx"; //靜態樣式 style="color: #1083E5;font-size: 48rpx;font-weight:bold;" (2)class:用于指定樣式規則,其屬性值是樣式規則中類選擇器名(樣式類名)的集合,樣式類名不需要帶上.,樣式類名之間用空格分隔。 <view class="normal_view" /> class="container-row buydes-center-des-select" 4.選擇器 5.全局樣式與局部樣式 二:設備物理像素(設備像素) 設備邏輯像素(設備獨立像素) 代碼CSS像素 設備像素比 viewport深入理解 1.viewport(可視區域大小)的概念理解和知識積累 2.移動端的HTML5開發META的常用設置 <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"> <meta content="yes" name="apple-mobile-web-app-capable"> <meta content="black" name="apple-mobile-web-app-status-bar-style"> <meta content="telephone=no" name="format-detection"> 第一個meta標簽表示:強制讓文檔的寬度(viewport寬度)與設備的寬度保持1:1,并且文檔最大的寬度比例是1.0,且不允許用戶點擊屏幕放大瀏覽; <meta content="width=375, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"> initial-scale - 初始的縮放比例 HTML5 META標簽常用設置參考資料點擊打開鏈接點擊打開鏈接 點擊打開鏈接 3.設備物理像素(設備像素),設備邏輯像素(設備獨立像素),代碼CSS像素,設備像素比 設備邏輯分辨率(device independent pixels):人對于物體真實尺寸的認知(屏幕大小),設計使用邏輯像素來思考界面 代碼CSS像素:CSS像素是Web編程的概念,獨立于設備的用于邏輯上衡量像素的單位,也就是說我們在做網頁時用到的CSS像素單位是抽象的,而不是實際存在的 iphone 6為例(設備像素比是2): **案例:**iphone 6s 的物理像素是750x1334,JS中window.innerWidth就是獲取設備的物理像素,為什么window.innerWidth獲取的值是375而不是750呢?
以iPhone 5s為例,屏幕的分辨率是640×1136,倍率是2。瀏覽器會認為屏幕的分辨率是320×568,仍然是基準倍率的尺寸。 |
關于在不同的移動設備上小程序應該怎么設置rpx單位就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。