記一次完整的等比例還原設計稿的響應式頁面

2021-09-10 21:28:37 字數 1049 閱讀 1870

專案新的迭代週期裡面有樣式優化的任務,決定藉此機會重構頁面布局,實現等比例還原設計稿、並響應多種裝置的頁面,上一版時間比較緊湊,忽略了等比例還原,這次補上。

等比例還原實現思路:

實際畫素/實際裝置寬度 = 設計稿畫素/1920
看到這個公式就知道,需要通過rem來實現了

使用rem就需要設定html的font-size, 根據上面的公式:

var viewport = document.documentelement;

var width = viewport.clientwidth;

var fontsize =

100* width /

1920

;// 設計稿字型大小x實際屏寬/設計稿寬 1rem = 100px 原公式:實際字型大小/實際屏寬 = 設計字型大小/設計稿寬

viewport.style.fontsize = fontsize.

tofixed(1

)+'px'

;

這裡需要說明一下fontsize的計算公式:為什麼要乘以100?

首先要說明的是不一定是100,可以是任何數,在這裡我是為了讓1rem表示設計稿裡面的100px。

其實一開始我不明白為什麼要乘以乙個數,感覺1rem = 1px不也挺好嗎。雖然不明白,還是按照慣例乘以了10,用1rem表示10px,一切看起來都很順利。

為了保證等比例還原,樣式內所有px全部用rem替代,直到頁面左右布局發現頁面實際比想象中的要寬。除錯機器寬度為1366,js計算的fontsize為7px多一點,但頁面rem卻以8px進行計算的,怎麼調都不對。更換1920的除錯裝置後頁面正常顯示。

這時候想到是不是裝置最小font-size限制問題,1366那台裝置將font-size限制在了8px。事實就是這樣,不同的裝置對最小字型大小限制也不同,可以參考這篇文章

這時候才意識到乘以100的重要性,要保證各裝置正常顯示,規避掉最小字型大小限制,乘以的這個數需要方便計算且盡量大。

記一次gogs git 還原記錄

在重灌之前對data盤的檔案都進行了備份,備份到另外乙個伺服器上,此處不贅述.直接開始還原操作.首先啟動docker 啟動容器 docker network create backend docker run d name mysqlforgogs net backend p 3306 3306 r...

記一次的使用

將jsp拆分frame框架,因為採用了第一種方式,一直在考慮用jquery非同步請求獲取資料,總是但不到效果,終於在js寫吐的時候選擇了第二種方式。參考網上的使用,大多是下面這個樣子,如果涉及靜態頁面之間定位,是沒有問題的 href 為目標頁面 通過target定位到frame views main...

一次完整的HTTP事務

http通訊機制是在一次完整的http通訊過程中,web瀏覽器與web伺服器之間將完成下列7個步驟 1.建立tcp連線 在http工作開始之前,web瀏覽器首先要通過網路與web伺服器建立連線,該連線是通過tcp來完成的,該協議與ip協議共同構建internet,即著名的tcp ip協議族,因此in...