使用rem進行自適應頁面布局

2022-06-09 07:57:08 字數 1037 閱讀 3991

設計師給到我們前端的設計稿一般是按照iphone6螢幕(iphone6 兩倍屏
裝置解析度(物理尺寸)

螢幕寬高

ppi狀態列高度

導航欄高度

標籤欄高度

750×1334 px

375×667px

326ppi

40px

88px

98px

)實際大小給出的標註,我們如何在盡可能多的螢幕上 1:1 的還原設計稿呢?
如今使用比較多的方式就是rem,(rem是尺寸的單位,相對根節點的字型大小的乙個單位)。

比如設計稿中乙個標註寬 30px(iphone6),我們實際寫樣式時應該為15px(兩倍屏會將我們的15px放大為實際的30px,換句話說:把30個畫素填充到了15px的寬度裡)。

這樣我們對照這iphone6上的設計稿寫出的樣式在iphone6手機上的表現與設計稿是保持一致的,那麼我們怎樣讓樣式在其他手機螢幕上也能保持這個比例去適應呢?

我們只需要去改變在相應手機螢幕上的根結點的font-size即可,這樣頁面中的其他不布局仍然會保持與設計稿中的比例顯示。

在實際中,為了方便換算單位,習慣把在iphone6中的根結點font-size大小設定為100px,

const winw = (document.documentelement.clientwidth || document.body.clientwidth) / 3.75;

document.documentelement.style.fontsize = `$px`;

// 當頁面大小發生改變,重新修正rem為新視窗尺寸的3.75分之一

Rem 自適應布局

1.先引入一下js,到頭部的script標籤的最前面。2.根據設計稿大小,調整裡面的最後兩個引數值。3.使用1 rem 100px轉換你的設計稿的畫素,例如設計稿上某個塊是100px 300px,換算成 rem則為1 rem 3rem。上面的 如果在 uc瀏覽器下橫屏與豎屏轉換,發現 並沒有 自適應...

自適應rem布局

自適應處理 假設 function doc,win if doc.addeventlistener return win.addeventlistener resizeevt,recalc,false doc.addeventlistener domcontentloaded recalc,fals...

rem自適應布局

使用rem實現自適應布局,應該算是當前移動前端的一大趨勢,有些人對此還有點迷惑,搞不懂rem是如何實現自適應布局,如何根據設計稿來調整rem的值?rem布局如何用雪碧背景?rem一定要載入js嗎?rem的根html font size設定為多少合適?看看這篇文章,也許能幫到你。目前有兩種,一種是根據...