移動端rem布局原理 為什么很多web項目還是使用px,而不是rem?
為什么很多web項目還是使用px,而不是rem?在移動終端剛剛流行的初期,為了使手機頁面適應不同大小的手機屏幕,淘寶的一位前端老板編寫了一個經(jīng)過改編的JS,叫做flexible,可以在GitHub找到
為什么很多web項目還是使用px,而不是rem?
在移動終端剛剛流行的初期,為了使手機頁面適應不同大小的手機屏幕,淘寶的一位前端老板編寫了一個經(jīng)過改編的JS,叫做flexible,可以在GitHub找到。原理很簡單。似乎根據(jù)手機的分辨率和DPI(我不記得了),動態(tài)設置根元素HTML的fontsize,然后頁面元素的大小就是rem,因為1rem=fontsizeofhtml。
后來,出現(xiàn)了大眾和VH。漸漸地,許多項目使用大眾汽車進行改編。100vw=100%寬度。因為兼容性不是很好,所以一直沒有上線。
nodejs出現(xiàn)后,前端工程開始了。有pxtorem和pxtoview port等插件。在開發(fā)過程中,我們可以根據(jù)UI標記的PX case直接編寫它們。在打包時,插件將幫助我們將PX計算轉(zhuǎn)換為REM或VW。
我現(xiàn)在用大眾。不考慮兼容性。我甚至不看那些需要與ie兼容的公司。<html style=“字體大?。?00px”>
2。<body style=“字體-尺寸:14px“>
3。使用js計算當前頁面寬度(PX),然后除以3.2。假設設計吃水寬度為320px。然后將設計草圖上元素的寬度除以100,設置為CSS的REM單位。例如,設計草圖中按鈕的寬度為100px。然后用CSS寫寬度:1rem IfCSS中的所有單位都是rem。無論當前瀏覽器的大小,網(wǎng)頁看起來都像一個放大縮小的基于320的設計手稿。
使用js計算rem如何使該段js最優(yōu)先執(zhí)行?
首先,您需要知道REM表示頁面根元素的字體大小,即HTML的字體大小。默認情況下,HTML的字體大小為16px高度:1米高度:16像素,您應該考慮如果rem發(fā)生了更改,例如,在您引入的第三方CSS或JS文件中設置了HTML字體-尺寸:160px左右,此時高度:1rem On代表高度:160px,建議您設置HTML的字體大小,以防意外情況。
html里面的行高換成rem的換率是怎么算的?
1. PX是一個固定的像素,不能適應流的布局。通常,高度由Px設置,web應用版本的寬度由rem.2設置。EM是相對于父元素的字體大小單位。因為它是相對于父元素的字體大小單位,所以如果要設置元素的寬度和高度,必須查看其父元素的大小。如果父對象也是EM單位,則必須轉(zhuǎn)到其父對象并逐層計算以獲得準確的像素值。
3. REM的出現(xiàn)改變了許多移動終端的適應性,因為REM指的是相對于根元素的字體大小單位。只要HTML根上的字體大小是根據(jù)屏幕大小設置的,rem中的元素大小就會相應地改變。