1. 程式人生 > >移動web開發之畫素和DPR

移動web開發之畫素和DPR

前面的話

  畫素在web開發中幾乎天天用到,但到底什麼是畫素,移動端和桌面端的畫素有區別嗎,縮放對畫素有影響嗎,視網膜螢幕和畫素有什麼關係?關於這些問題,可能就不清楚了。本文將介紹關於畫素的相關知識

定義

  畫素,又稱畫素,是影象顯示的基本單位,譯自英文“pixel”,pix是英語單詞picture的常用簡寫,加上英語單詞“元素”element,就得到pixel,故“畫素”表示“影象元素”之意,有時亦被稱為pel(picture element)

  畫素是網頁佈局的基礎。一個畫素就是計算機能夠顯示一種特定顏色的最小區域。當裝置尺寸相同但畫素變得更密集時,螢幕能顯示的畫面的過渡更細緻,網站看起來更明快。

  //ppi是指螢幕上每英寸可以顯示的畫素點的數量,即螢幕畫素密度

分類

  實際上畫素分為兩種:裝置畫素和CSS畫素

  1、裝置畫素(device independent pixels): 裝置螢幕的物理畫素,任何裝置的物理畫素的數量都是固定的

  2、CSS畫素(CSS pixels): 又稱為邏輯畫素,是為web開發者創造的,在CSS和javascript中使用的一個抽象的層

  每一個CSS宣告和幾乎所有的javascript屬性都使用CSS畫素,因此實際上從來用不上裝置畫素 ,唯一的例外是screen.width/height

//我們通過CSS和javascript程式碼設定的畫素都是邏輯畫素
width:300px;
font-size:16px;

縮放

  在桌面端,css的1個畫素往往都是對應著電腦螢幕的1個物理畫素。

  //一個CSS畫素完全覆蓋了一個裝置畫素 

 

  而在手機端,由於螢幕尺寸的限制,縮放是經常性的操作。

  //裝置畫素(深藍色背景)、CSS畫素(半透明背景)
  //左圖表示當用戶進行縮小操作時,一個裝置畫素覆蓋了多個CSS畫素
  //右圖表示當用戶進行放大操作時,一個CSS畫素覆蓋了多個裝置畫素

  不論我們進行縮小或放大操作,元素設定的CSS畫素(如width:300px)是始終不變的,而一個CSS畫素對應多少個裝置畫素是根據當前的縮放比例來決定的

DPR

  裝置畫素比DPR(devicePixelRatio)是預設縮放為100%的情況下,裝置畫素和CSS畫素的比值

DPR = 裝置畫素 / CSS畫素(某一方向上)

  在早先的移動裝置中,並沒有DPR的概念。隨著技術的發展,移動裝置的螢幕畫素密度越來越高。從iphone4開始,蘋果公司推出了所謂的retina視網膜螢幕。之所以叫做視網膜螢幕,是因為螢幕的PPI(螢幕畫素密度)太高,人的視網膜無法分辨出螢幕上的畫素點。iphone4的解析度提高了一倍,但螢幕尺寸卻沒有變化,這意味著同樣大小的螢幕上,畫素多了一倍,於是DPR = 2

  實際上,此時的CSS畫素對應著以後要提到的理想視口,其對應的javascript屬性是screen.width/screen.height

  而對於裝置畫素比DPR也有對應的javascript屬性window.devicePixelRatio

  以iphone5為例,iphone5的CSS畫素為320px*568px,DPR是2,所以其裝置畫素為640px*1136px

    640(px) / 320(px)  = 2
    1136(px) / 568(px) = 2
    640(px)*1136(px) /  320(px)*568(px) = 4

相關推薦

移動web開發DPR

前面的話   畫素在web開發中幾乎天天用到,但到底什麼是畫素,移動端和桌面端的畫素有區別嗎,縮放對畫素有影響嗎,視網膜螢幕和畫素有什麼關係?關於這些問題,可能就不清楚了。本文將介紹關於畫素的相關知識 定義   畫素,又稱畫素,是影象顯示的基本單位,譯自英文“pixel”,pix是英語單詞pictu

移動web開發DPR詳解

前話:   畫素在web開發中幾乎天天用到,但到底什麼是畫素,移動端和桌面端的畫素有區別嗎,縮放對畫素有影響嗎,視網膜螢幕和畫素有什麼關係?關於這些問題,可能就不清楚了。本文將介紹關於畫素的相關知識    什麼是畫素:   畫素,又稱畫素,是影象顯示的基

移動web開發DPR

javascript element 英語單詞 計算機 web開發 定義  像素,又稱畫素,是圖像顯示的基本單位,譯自英文“pixel”,pix是英語單詞picture的常用簡寫,加上英語單詞“元素”element,就得到pixel,故“像素”表示“圖像元素”之意,有時亦被稱為pel(pi

移動WEB開發JS內置touch事件[轉]

調用 位置 .com 構造 turn listener 附件 cli 瀏覽器 iOS上的Safari也支持click 和mouseover等傳統的交互事件,只是不推薦在iOS的瀏覽器應用上使用click和mouseover,因為這兩個事件是為了支持鼠標點擊而設計 出來的。

移動WEB開發--CSS像、設備獨立像、設備像之間關系

bubuko 移動 如果 轉換關系 per 像素分辨率 發的 lan 通過 CSS像素、設備獨立像素、設備像素,三者聯系緊密又有很大的區別,而我們主要是在做移動端開發的時候需要更多地用到這些概念,那他們分別是指什麽呢? 概念 CSS像素(CSS Pixel):適用於we

移動Web開發HTML5檔案上傳

iOS在瀏覽器中限制訪問本地檔案,並且不支援Flash,所以沒有一個比較好的辦法在瀏覽器中進行檔案的上傳。幸運的是iOS 6中放開了上傳限制。通過指定HTML5<input>標籤的type屬性為“file”建立一個檔案上傳入口,可以訪問相簿和相機。 <

JAVA Web開發XML基礎DTD約束

語法格式:    <!ENTITY % 實體名稱 "實體內容" > 引用方式: %實體名稱; 舉例1:   <!ENTITY % TAG_NAMES "姓名 | EMAIL | 電話 | 地址">       <!ELEMENT 個人資訊 (%TAG_NAMES; | 生日)&g

移動web頁面知識小結密度、解析度、螢幕尺寸

一直以來,本人對移動端解析度、畫素等概念傻傻分不清,特查閱多位牛人部落格後總結如下要點,以便日後檢視。 文件來源 螢幕解析度 是指螢幕上垂直方向和水平方向上的畫素個數,單位是px。常見取值 480X800,320X480等 IPhone手

移動web頁面知識小結、物理、邏輯

一直以來,本人對移動端解析度、畫素等概念傻傻分不清,特查閱多位牛人部落格後總結如下要點,以便日後檢視。 文件來源 CSS畫素 CSS畫素是沒有實際大小的抽象單位,它是一個相對長度,它相對的是電腦或手機顯示器的解析度。 但在不同的

移動 web 開發問題優化小結

ash 下滑 鏈接 出了 區別 area -- png 一般來說 1.前言 到目前為止,互聯網行業裏,手機越來越智能化,移動端占有的比例越來越高,尤其實在電商,新聞,廣告,遊戲領域。用戶要求越來越高,網站功能越來越好,效果越來越炫酷,這就要求我們產品質量越來越高,web前端

關於移動端真正實現1px我遇到的坑

    在做下邊寬或者上邊寬1px的時候在pc端或者安卓手機會沒什麼問題,但是在iphone手機會因為手機的特性使畫素增大1px,下面是程式碼:最後在app.vue的<style>標籤裡面引入檔案,重點:必須要用相對定位,否則報錯記得要在html標籤裡面加上cla

Android開發原生APPWeb APP的區別個人見解

Native App開發Native App開發即我們所稱的傳統APP開發模式(原生APP開發模式),該開發針對IOS、Android等不同的手機作業系統要採用不同的語言和框架進行開發,該模式通常是由

Android開發 螢幕適配密度適配

由於市場上採用Android系統的裝置種類繁多,迫使Andriod開發人員不得不做煩人的適配工作。 適配工作包括對安裝不同Android版本的裝置進行適配,對不同螢幕的裝置進行適配等。 而螢幕適配又包括: 螢幕尺寸(small,normal,large,xlarge , 這

Html5 Canvas開發滑鼠繪圖方塊移動

1.滑鼠繪圖 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> &

移動開發Web App開發

寫在前面:本人剛剛接觸移動端開發,希望自己的見解能夠幫助到他人,不足之處還望提醒。1 移動端開發分類1.1 Native App 原生App開發優點:(1)使用者體驗好(2)效能穩定(3)操作速度快(4)能夠訪問本地資源(通訊錄,相簿)(5)能夠設計出色的動效,轉場(6)擁有

移動web開發中屏幕適配問題

設置 應該 相對 用戶 默認 min 等於 滾動 imu 1、首先屏幕的尺寸就是屏幕對角線的長度 尺寸是固定的 2、開發中遇到的單位 相對單位(即相對於屏幕):px em pt 絕對單位(固定的大小,與設備屏幕無關):in cm 3、像素密度 像素

web開發菜鳥的代碼規範

好的編碼 ray function 指定 參數說明 原則 特殊 第一個 約定 筆者菜鳥裏最不會飛的那個,所以這些基礎的習慣都沒養成,正好抽時間特意做個筆記以方便自己規範代碼, 有興趣的大佬多多指點. 養成好的編碼習慣收益良多, 總結下編碼時應註意的細節《借鑒高程裏代碼約束》

移動前端開發viewport的深入理解

瀏覽器 開發 分辨率 電腦 標簽 在移動設備上進行網頁的重構或開發,首先得搞明白的就是移動設備上的viewport了,只有明白了viewport的概念以及弄清楚了跟viewport有關的meta標簽的使用,才能更好地讓我們的網頁適配或響應各種不同分辨率的移動設備。一、viewport的概念

淺淡HTML5移動Web開發

問題 nbsp 插入 應該 響應式 媒體 窗口 彈性 根據 淺淡HTML5移動Web開發 說實話,我們這次開發移動端的項目,整個項目組的人都是第一次,最初立項的時候為是選擇native app和web app還爭論了一番,最後綜合考慮,我們選擇了web(我們選擇了h5)

Web開發404小結

eba 場景 服務器 ffffff 頁面 round 分析 根目錄 str 404算是Web工程裏最常見的錯誤代號了。今天做一個小結: 場景:【Tomcat運行正常,但無法訪問自己建的項目:404】 結果:在URL拼寫正確的情況下,無法訪問目標工程任何頁面 信息:【40