移動端基本概念

2022-09-12 10:54:13 字數 2137 閱讀 2994

viewport標籤用法

其主要用來告訴瀏覽器如何規範的渲染web頁面,而你則需要告訴它視窗有多大

移動端開發中,通常我們都會採用來設定viewport

viewport是什麼?

通俗來講,移動端的viewport就是我們所能看到的手機端瀏覽器的可視視窗大小,但viewport又不僅僅侷限於可視視窗的大小,一般情況下,它是比預設視窗大小要大的,這是因為考慮到移動裝置的解析度相對於桌面電腦來說都比較小,所以為了能在移動端正常顯示為桌面瀏覽器而設計的網頁,移動端的瀏覽器都會預設把自己的預設的viewport設為980px到1024px不等,但其後果就是會出現橫向滾動條,因為移動端瀏覽器可視區域的大小是比預設的viewport寬度要小的。

物理畫素(physical pixel)

乙個物理畫素是顯示器(手機螢幕)上最小的物理顯示單元,在作業系統的排程下,每乙個裝置畫素都有自己的顏色值和亮度值。

裝置獨立畫素(density-independent pixel)或 css畫素

裝置獨立畫素(也叫密度無關畫素),可以認為是計算機座標系統中得乙個點,這個點代表乙個可以由程式使用的虛擬畫素(比如: css畫素),然後由相關系統轉換為物理畫素。

所以說,物理畫素和裝置獨立畫素之間存在著一定的對應關係,就是裝置畫素比。

裝置畫素比(device pixel ratio )

裝置畫素比(簡稱dpr)定義了物理畫素和裝置獨立畫素的對應關係,它的值可以按如下的公式的得到:

裝置畫素比 = 物理畫素 / 裝置獨立畫素     // 在某一方向上,x方向或者y方向

在j**ascript中,可以通過window.devicepixelratio獲取到當前裝置的dpr。

在css中,可以通過-webkit-device-pixel-ratio,-webkit-min-device-pixel-ratio和 -webkit-max-device-pixel-ratio進行**查詢,對不同dpr的裝置,做一些樣式適配(這裡只針對webkit核心的瀏覽器和webview)。

綜合上面幾個概念,一起舉例說明下:

以iphone6為例:

裝置寬高為375×667,可以理解為裝置獨立畫素(或css畫素)。

dpr為2,根據上面的計算公式,其物理畫素就應該×2,為750×1334。

用一張圖來表現:

上圖中可以看出,對於這樣的css樣式:

width: 2px;

height: 2px;

寬高各放大了2倍,那就是4倍,dpr的平方

在不同的螢幕上(普通螢幕 vs retina螢幕)

共同點:css畫素所呈現的大小(物理尺寸)是一致的

不同點:1個css畫素所對應的物理畫素個數是不一致的。

在普通螢幕下,1個css畫素 對應 1個物理畫素(1:1)。

在retina 螢幕下,1個css畫素對應 4個物理畫素(1:4)。

普通螢幕

retina螢幕

裝置獨立畫素( css畫素)

物理畫素

裝置畫素比 = 物理畫素 / 裝置獨立畫素 

var dpr = window.devicepixelratio || 1;//

螢幕裝置畫素比,如果獲取不到螢幕裝置畫素比,就設定為1,

//螢幕解析度

var bodyw = window.screen.width;//

螢幕解析度的寬

var bodyh = window.screen.height;//

螢幕解析度的高

//物理畫素

var pxw = bodyw * dpr;//

物理畫素的寬

var pxh = bodyh * dpr;//

物理畫素的高

基本概念 C 基本概念

由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...

基本概念 數控系統基本概念

第一章 基本概念 數控工具機cnc是一種按事先編制好的加工零件程式進行加工的高效 自動化加工裝置。是 computer numerical control machine tools 的簡稱。數控工具機較好地解決了複雜 精密 小批量 多品種的零件加工問題,是一種柔性的 高效能的自動化工具機。西門子系...

移動端適配概念

在千峰逆戰班學習的第二十七天 一步乙個腳印,越努力越輕鬆,越堅強越幸運!繼續加油,奧利給!移動裝置螢幕尺寸不一樣,不同型號的手機會有不同大小的螢幕,不同型號的平板也是,就算是我們的pc端也是會有不同大小的螢幕 適配用來做布局的,移動端比較麻煩 裝置太多,尺寸也不一樣 而且設計師設計的尺寸 和我們切圖...