如何處理pc端的字體大小的適配問題(完美解決)

export const resetPc = () => {
    var wH = window.innerHeight; // 當前窗口的高度
    var wW = window.innerWidth; // 當前窗口的寬度
    var whdef = 100 / 1920; // 表示1920的設計圖,使用100PX的默認值
    if (wW > 1400) {
        var rem = wW * whdef; // 以默認比例值乘以當前窗口寬度,得到該寬度下的相應FONT-SIZE值
        var html = document.documentElement;
        html.style.fontSize = rem + "px"; //適用於PC網站
    } else {
        var rem = 1400 * whdef;
        var html = document.documentElement;
        html.style.fontSize = rem + "px";
    }
}
  1. 將上面的代碼在項目啓動的時候進行初始加載;
  2. 這裏主要設置的是html的根字體大小,需要進行body的字體大小的初始化,我一般設置font-size:14px,否則會導致頁面的部分字體變大;
  3. 這裏的是頁面的初次加載的時候進行引入初始,但不推薦window.addEventListener("resize", function() {})進行頁面的動態監聽,因爲頁面的窗口不像手機,可以隨意的調整瀏覽器窗口的大小,這樣會導致頁面的不斷重繪和重排,影響性能,所以我在上述代碼中以1400寬度進行分界線,相應的body會有個對應的最小寬度,我設置的是1000px;
    4.對應的代碼加上去後,根字體的大小相對於1920的大小是100px;所以後面的px也要相應的用rem代替,我是通過對應的sass進行換算如下:
@function pcPx2rem($px) {
    $rem: 100px;
    @return ($px/$rem)+rem;
}

5.對應的手機端的適配和手機端類似,有webpack的可以直接用對應的插件進行轉換這裏就不過多的進行敘述。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章