移動端html font size動態計算設定

2021-09-26 05:20:39 字數 2471 閱讀 4821

設計稿以750px為寬度,其中有個元素是100px,如何設定font-size,使同一段**在不同的裝置上保持一致?

設計稿寬度

裝置寬度

html font-size

元素寬度

css**

750px

320px(iphone5)

?100px

1rem

750px

375px(iphone6/7\iphonex)

50px

100px

1rem

750px

414px(iphone6p/7p

?100px

1rem

通過上面的**可以得出,只要每個裝置計算出font-size幾個適配。

375/50=7.5 => 414/?=7.5 => 每個裝置動態計算裝置寬度/7.5即可。

(function () 

roothtml.style.fontsize = devicewidth / 7.5 + "px";

}resizebasefontsize();

window.addeventlistener("resize", resizebasefontsize, false);

window.addeventlistener("orientationchange", resizebasefontsize, false);

})();

示例:

//網頁html部分,js部分同上

*

style>

style="width:1rem;height:1rem;background: black;font-size:0.3rem;color:aliceblue;">寬:1remdiv>

style="width:2rem;height:1rem;background: orange;font-size:0.3rem;color:aliceblue;">寬:2remdiv>

style="width:4rem;height:1rem;background: green;font-size:0.3rem;color:aliceblue;">寬:4remdiv>

style="width:6rem;height:1rem;background: yellowgreen;font-size:0.3rem;color:aliceblue;">寬:6remdiv>

style="width:7.5rem;height:1rem;background: red;font-size:0.3rem;color:aliceblue;">寬:7.5remdiv>

style="width:100%;">

范德薩范德薩范德薩范德薩范德薩范德薩范德薩范德薩范德薩

可以看到我們的頁面font-size是自動變化的(根據對應的裝置寬度),並且頁面的比例保持不變。以後我們只要保持設計稿是750px寬度,設計稿裡面的元素,如果是100px,那麼在css中就寫1rem,以此類推,如果是12px,那麼就是0.12rem。就是:設計稿元素尺寸/100

設計稿寬度:750px

css全部採用rem

html的font-size動態計算:裝置寬度/7.5

元素尺寸計算為:設計稿尺寸(px)/100 ,(注意單位為rem)

在前端開發中實戰

//vue示例

"stylus">

//定義乙個方法用來從px轉vm

p2v(p)

p / 750 * 100vw;//假設設計稿是750寬度

$orange = #ff7000

.banks

padding p2v(12)//此處計算得是1.6vw,把頁面拉伸到750px寬度下,box顯示12px

border 1px olid $orange

box-shadow 1vw 1vw 1vw $orange

licolor $orange

width p2v(375)//此處計算得是50vw,把頁面拉伸到750px寬度下,box顯示375px

移動端 移動端頁面適配方案

這是mdn上的解釋 這個單位代表根元素的 font size 大小 例如 元素的font size 當用在根元素的font size上面時 它代表了它的初始值 也就是說,rem單位取值的大小和根元素html的font size取值直接相關。它跟html元素之間得關係為 html的fontsize值 ...

pc端適配移動端

1.允許網頁寬度自動調整在網頁 的頭部,加入一行viewport元標籤所有主流瀏覽器都支援這個設定,包括ie9。對於那些老式瀏覽器 主要是ie6 7 8 需要使用css3 mediaqueries.js2.不使用絕對寬度由於網頁會根據螢幕寬度調整布局,所以不能使用絕對寬度的布局,也不能使用具有絕對寬...

移動端布局

預設以寬度為640px的設計稿為基準頁面,然後通過js獲取當前顯示裝置的尺寸,對應的調整 html 標籤的font size大小,從而實現通過以rem為單位的移動端布局適配。function win,doc function layoutcalc html.style.fontsize rem px...