裝置解析度與畫素密度對網頁縮放的影響

2021-10-01 13:59:51 字數 3046 閱讀 5464

我的筆記解析度 2560*1600 比例16:10 , 裝置尺寸16吋

預設dpi (畫素密度)如圖 紅框中顯示

當裝置的解析度和裝置尺寸不變的情況下,裝置螢幕dpi(畫素密度)在高於某個值的時候。螢幕的dpi(畫素密度)就會影響網頁縮放(從而影響網頁布局)訪問此位址檢視電腦螢幕當前解析度和使用的dpi

預設情況下:裝置尺寸過小 , 解析度過高導致裝置dpi大於每英吋/72或96, windows會自動對螢幕顯示進行放大 。 進而導致瀏覽器展示的網頁被放大(從而導致網頁中、字型、元素尺寸變大,導致網頁布局錯亂)。開發者為了除錯在不同dpi下網頁的縮放和布局故意更改裝置dpi。

以win10為例 調整dpi

這時候再訪問 檢視螢幕解析度和 dpi 結果如下

**在解析度不變,且螢幕比例不變(16:10)的情況下 改變螢幕的縮放比例(dpi)會將螢幕的解析度改變且影響網頁中的 元素寬度以及字型大小等。導致網頁布局出現問題

如使用的裝置比例不變(16:9) 或 (16:10)這兩種在當下比較常見的 網頁只需要按照此比例的設計稿還原即可。即便用在4k 或 更大解析度的顯示器上,系統(win或mac)會自動設定縮放比例。網頁也可達到乙個比較好的瀏覽效果

以上的方式較為適用於 甲方固定的使用場景 如大屏 如 某個資訊系統 因為他們的裝置多為統一採購。保證硬體統一性即可。 大屏也可一開始設定為大屏的真實解析度,網頁開發直接將字型或元素尺寸寫大,不使用系統的自動縮放(但此時應該關閉系統的自動縮放)看取捨吧

如果是一般性網頁 要給使用者使用(比如電腦和手機或ipad訪問) 這時候不僅要考慮解析度不變 縮放(dpi)變化帶來的影響 還要考慮 縮放(dpi)不變 解析度變化帶來的影響 。一般採用 **查詢+js設定字型rem的方式來實現

**查詢中又分為 解析度的**查詢

css設定解析度區間改變html布局達到相容

@media screen and (

min-width

: 990px/*起始最小寬度*/

) and (

max-width

:1200px/*結束最大寬度*/

)

和 dpi(畫素密度或者螢幕縮放)**查詢

@media screen and (

min-resolution

: 1.25***x)

,/*通用畫素密度*/

(min-device-pixel-ratio

: 1.25)

,/*安卓ios使用谷歌火狐瀏覽器也可

使用*/

(min-resolution

: 115dpi)

/*ie 要使用 dpi單位 google的***x不支援*/

一 js解決方案

/**

* 該方法是以iphone6(真機寬度:375)對於設計稿web寬度(750)來計算rem

* 其他元素px值轉換為rem則使用:rem=px/100

*/function

setrem()

// 初始化

setrem

()

二 設定css **查詢 相對來說網頁元素或元件要有比較好的通用性,修改起來才比較方便

解析度改變的操作

css設定解析度區間改變html布局達到相容

@media screen and (

min-width

: 990px/*起始最小寬度*/

) and (

max-width

:1200px/*結束最大寬度*/

)

dpi(畫素密度或者螢幕縮放)改變的操作

@media screen and (

min-resolution

: 1.25***x)

,/*通用畫素密度*/

(min-device-pixel-ratio

: 1.25)

,/*安卓ios使用谷歌火狐瀏覽器也可

使用*/

(min-resolution

: 115dpi)

/*ie 要使用 dpi單位 google的***x不支援*/

## 示例demo / 同解析度下不同 dpi下處理

```html

"hh"> 這是測試文字

dpi放大倍率為1時效果

請注意下方網頁ui字型大小 及柱狀圖下方文字選單數量 以及 柱狀圖左側y軸數值

上方紅線處是測試當前螢幕dpi 的放大倍數 (與windows 縮放與布局處一直 100%等於此處的 1 具體請看文件開頭)

dpi放大倍率為1.25時效果

請注意下方網頁ui字型大小 及柱狀圖下方文字選單數量 以及 柱狀圖左側y軸數值

上方紅線處是測試當前螢幕dpi 的放大倍數 (與windows 縮放與布局處一致 125%等於此處的 1.25

具體請參見:文件開頭)

畫素與解析度

可以通過displaymetrics類來獲得手機螢幕的寬度 高度 密度等,如下 displaymetrics metric new displaymetrics getactivity getwindowmanager getdefaultdisplay getmetrics metric int ...

裝置畫素,解析度 ,裝置獨立畫素,CSS畫素

以為為個人理解 畫素 畫素就是組成影象的最基本單元,可以理解為小點。不知道大家有沒有這樣的情況,就是拿放大鏡看顯示屏或電視的時候可以看到乙個乙個的小方框,影象 是由這樣的小點組成的,也就是畫素。裝置畫素 就是裝置的畫素。比如手機畫素,相機畫素,顯示屏畫素等。解析度 通俗講就是分辨影象的程度。畫素越高...

解析度與畫素 轉

定義 解析度 resalution 是乙個表示平面影象精細程度的概念,通常它是以橫向和縱向點的數量來衡量的,表示成水平點數 垂直點數的形式。在乙個固定的平面內,解析度越高,意味著可使用的點數越多,影象越細緻。解析度與畫素的關係 目前,市場上流行著兩種計算畫素數的方法 一種計算畫素點的個數,它等於物理...