rem自適應布局

2022-07-09 11:36:13 字數 1549 閱讀 4706

目前有兩種,一種是根據js來調整html的字型大小,另一種則是通過**查詢來調整字型大小。

使用js

(function

(designwidth, maxwidth) ;

if (width >maxwidth)

//與**做法不同,直接採用簡單的rem換算方法1rem=100px

var rem = width * 100 /designwidth;

//相容uc開始

rootstyle="html';

rootitem = document.getelementbyid('rootsize') || document.createelement("style");

if(!document.getelementbyid('rootsize'))

if(rootitem.stylesheet)

else

catch(f)

}//相容uc結束

docel.style.fontsize = rem + "px";

};refreshrem();

win.addeventlistener("resize", function

() ,

false

); win.addeventlistener("pageshow", function

(e)

}, false

);

if (doc.readystate === "complete")

else

, false

); }

})(640, 640);

專案主頁

上面**中的關鍵**是:

var width = docel.getboundingclientrect().width;

var rem = width * 100 / designwidth;

docel.style.fontsize = rem + "px";

使用**查詢

說到底,上面的js**不就是根據不同的裝置調整對應的html字型大小嘛,那麼我們根據實際的裝置,來加上相應的字型大小不就行了嗎?

我們知道html的預設字型大小是16px,則對應的裝置下可以通過設定對應的font-size使其有一致的縮放比例。

html 

@media only screen and (min-width: 481px)

}@media only screen and (min-width: 561px)

}@media only screen and (min-width: 641px)

body

}

上面的**則是通過1rem=20px來換算的,從**看出來呢?從最大的乙個值640出發,假如你的設計稿是750的話,那你還要設計更多的** 查詢,換算比例保持一致就可以了。那如果我想要換算比例為1rem=100呢?按照上面的規則,最大的值為:html:font- size:100/16*100%,其它的則按比例,比如480px,則為480/640*(100/16*100%)。

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設定為多少合適?看看這篇文章,也許能幫到你。目前有兩種,一種是根據...