日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

移动前端适配—逻辑像素和物理像素

發布時間:2023/12/15 HTML 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 移动前端适配—逻辑像素和物理像素 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基礎概念

dpi

每英寸所含有的像素點的個數。

物理像素

移動設備出廠時,就具備的分辨率,小米5 1920x1080 iphone6 1334x750

邏輯像素

Give your page a <meta name="viewport" content="width=device-width">, read out document.documentElement.clientWidth, and most browsers will give you the width of the layout viewport, which now equals the dips width.

當你在html設置了<meta name="viewport" content="width=device-width">,那么頁面就會以移動設備的dpis width作為邏輯像素。

dpis width & scale

dpis width 如何得出?

  • 你先需要計算dpi
    小米5為例, sqrt(19202 x 10802) / 5.15(屏幕的物理尺寸) = 427.7
  • 計算scale
    scale = 427.7 / 160 約等于 3.(這個計算是針對于android手機,不過ios也類似,至少目前的機型都符合這個計算,有清楚的大佬可以告知)
    android 以160的倍數作為分隔點,來劃分不同手機邏輯像素的縮放比例。
    160 mdpi

    320 hdpi

    480 xhdpi

  • 計算dpis width 也就是 邏輯像素
    dpis width = 1080 / 3 = 360

那么結論來了

開發時其實只需要考慮邏輯像素,android 中 dp單位和移動前端中的px是一樣的,ios中用的也是邏輯像素。

那么開發時,圖片我們改如何選擇呢?

1280 x 720 、1920 x 1080 、2560 x 1440,這物理分辨率不同的手機之間有什么區別?

還是以小米5為例,邏輯像素是360,那么其實對于小米5來說360px(物理像素)的圖片就可以正常顯示,并且不會拉伸,那么為了讓圖片的色彩更加好,可以使用720px(物理像素)的圖片或者是1080px(物理像素)的圖片。

但是360的邏輯像素只是小米5的,不同手機之間存在差異性,為了讓所有手機上面的圖片較為正常的顯示,那么應該選取一個物理像素較高的圖片。

android端通常在本地準備了多套的圖,根據不同scale來選擇不同的圖片,以便在所有手機上都能較好的顯示,同時保證了性能與展示效果,當然你可以選擇僅僅使用一張最大的圖,但代價便是內存占用和性能問題。

移動web端更是如此,因為移動web端的圖片通常是從服務器獲取,那么如果都統一使用最大的圖片,勢必會影響加載速度,所以根據實際使用情況,自己斟酌。

總結

以上是生活随笔為你收集整理的移动前端适配—逻辑像素和物理像素的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。