溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何解決CSS像素以及移動端不同屏幕適配的問題

發(fā)布時間:2021-07-16 11:35:25 來源:億速云 閱讀:193 作者:小新 欄目:web開發(fā)

這篇文章主要介紹了如何解決CSS像素以及移動端不同屏幕適配的問題,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

像素

分辨率

我們通常所說的顯示器分辨率,其實(shí)是指桌面設(shè)定的分辨率,而不是顯示器的物理分辨率。只不過現(xiàn)在液晶顯示器成為主流,由于液晶的顯示原理與CRT不同,只有在桌面分辨率與物理分辨率一致的情況下,顯示效果最佳,所以現(xiàn)在我們的桌面分辨率幾乎總是與顯示器的物理分辨率一致了。

UI稿的像素

UI稿的像素是指物理像素
我們接到的UI設(shè)計(jì)稿例如750px就是物理像素

前端像素

只要兩個屏幕邏輯像素相同,它們的顯示效果就是相同的。 也就是CSS世界中的px相同,相同物理尺寸的屏幕顯示效果就是相同的

那么在實(shí)際屏幕顯示的時候他們之間都有神馬關(guān)系呢?

如下圖 當(dāng)我們在網(wǎng)頁上設(shè)置一個元素的css像素(width:2px;height:2px)時,在dpr=1的顯示器上時,最終會占用一個四個物理像素點(diǎn),當(dāng)在dpr=2時的顯示器上時,會占用16個物理像素點(diǎn)。由此得出結(jié)論,在不同屏幕下css像素的物理尺寸是一致的,不同的是一個css像素對應(yīng)的物理像素點(diǎn)個數(shù)不一樣

如何解決CSS像素以及移動端不同屏幕適配的問題

不同屏幕下的rem適配方案

<!-- m站移動端適配js -->

  // 適配  物理像素寬750 1rem=100px   
  // clientWidth(實(shí)際的邏輯像素)/375(參照基準(zhǔn)邏輯像素) = fontSize(實(shí)際的1rem像素值)/100(參照的1rem邏輯像素值)
  ;(function(win, doc){
    function change(){
        doc.documentElement.style.fontSize=100*doc.documentElement.clientWidth/375+'px';
    }
    change();
    win.addEventListener('resize', change, false);
  })(window, document);
  // 這樣我們就計(jì)算出實(shí)際不同邏輯像素下1rem的值了
  // 實(shí)際工作中如果UI給是設(shè)計(jì)稿寬度是750px 那么我們就需要在量到的寬度的基礎(chǔ)上除以200
  // 我們在打開控制臺查看元素之間的距離的時候都是設(shè)計(jì)稿上的一半 設(shè)計(jì)稿的物理像素2px對應(yīng)邏輯像素1px
  // 我司現(xiàn)在的設(shè)計(jì)稿都放在藍(lán)湖上 寬度都是標(biāo)準(zhǔn)的375 那么我們只需要在量得的寬度基礎(chǔ)上除以100就得到實(shí)際的寬度是多少rem

  // 附: 當(dāng)然也有其他適配方案,但是rem原理都是一樣的,除非采用的不是rem方案

為什么蘋果手機(jī)上需要2倍圖或者三倍圖?

以2倍屏為例

如何解決CSS像素以及移動端不同屏幕適配的問題

原本2*2像素的圖片在2倍屏下 有4*4個像素點(diǎn)組成 那么多出來需要繪制的像素點(diǎn)的就會在以前周周附近找相似的,所以有了模糊的問題?,F(xiàn)在工作中一般為了圖片高清顯示,都是采用蘋果兩倍圖。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何解決CSS像素以及移動端不同屏幕適配的問題”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI