国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

前端設置頁面字體尺寸跟隨屏幕大小而進行變化

這篇具有很好參考價值的文章主要介紹了前端設置頁面字體尺寸跟隨屏幕大小而進行變化。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

越來越多的前端項目現(xiàn)在需要這個操作,其操作的原因很簡單,你的項目可能跑在小尺寸分辨率的電腦上,也有可能在大尺寸的會議平板上,更有甚者是在LED上。那么如何讓你的項目根據(jù)屏幕分辨率的大小而自動變化,修改頁面展示字體以及調(diào)整尺寸呢?

按照我們所需功能,我們還是先來對一下流程及需求。

第一:我們要求頁面一打開就獲取屏幕大小,通過計算設置尺寸及字體大小。

第二:我們當頁面分辨率修改后(拖動、或者分辨率轉換)我們也需要設置其尺寸和大小。

鑒于以上兩種需求。我們可以提煉出。

1. 我們需要一個監(jiān)測屏幕分辨率的方法。

2. 我們的頁面尺寸需要使用rem來進行編寫。

3. 我們需要根據(jù)屏幕情況來動態(tài)設置font-size

下來我們來編寫代碼:

我們新建一個文件index.js? 并將這個文件引入到 index.html 中

在這個index.js中我們先放置一個空的自執(zhí)行函數(shù)

// 項目根目錄新建文件 util.js

放置一個自執(zhí)行函數(shù)

(() => {

    // 內(nèi)容

})()

然后在這個自執(zhí)行函數(shù)里我們再寫一個函數(shù)方法,這個方法來動態(tài)設置字體大小

(() => {
  // 設置字體大小
  function calcFontSize() {
    const zoom = window.screen.width / 1920;
    const size = zoom * 16;
    document.documentElement.style.fontSize = size + 'px';
    console.log('設置字體大小', size);
  }

  

})()

上述代碼中,我們首先獲取屏幕的大小,以1920 為主。1920分辨率下默認font-size設置為16px。至于為什么要設置 font-size。那是因為rem的緣故,此處不了解的可以自行百度。

設置完設置字體代碼后,我們完成了上述需求的第三個,則還需要第一個跟第二個。

那下來我們再寫一個方法用來監(jiān)測電腦分辨率。window.onload

(() => {
  // 設置字體大小
  function calcFontSize() {
    const zoom = window.screen.width / 1920;
    const size = zoom * 16;
    document.documentElement.style.fontSize = size + 'px';
    console.log('設置字體大小', size);
  }

  window.onload = () => {
    
    
  }

})()

上述中window.onload 方法的意思是用于在網(wǎng)頁加載完畢后立刻執(zhí)行的操作,即當 HTML 文檔加載完畢后,立刻執(zhí)行某個方法。也就是頁面初始化的時候去加載。在這里面我們需要昨個操作,也就是頁面一加載完的時候,我們需要去給window的 onresize 綁定一個方法。

 window.onload = () => {
    console.log("頁面加載完成")
    let resize_timer = null;
    const resize = () => {
      
    }
    window.onresize = resize;
  }

window.onresize的意思是,當監(jiān)測到屏幕分辨率變的時候,所以我們需要一個操作就是,頁面一加載完成,我們給window.onresize 綁定一個方法。這個方法只綁定一次,而不需要每次都去綁定。這樣的話,當每次屏幕分辨率改變的時候,都會去執(zhí)行 resize 這個方法。

那么這個方法里我們應該些什么呢?那就是調(diào)用我們第一步做的 calcFontSize 這個方法,修改整個document的font-size 屬性。

 window.onload = () => {
    console.log("頁面加載完成")
    let resize_timer = null;
    const resize = () => {
       calcFontSize();
    }
    window.onresize = resize;
  }

目前的完整代碼如下:

(() => {
  // 設置字體大小
  function calcFontSize() {
    const zoom = window.screen.width / 1920;
    const size = zoom * 16;
    document.documentElement.style.fontSize = size + 'px';
    console.log('設置字體大小', size);
  }
    calcFontSize();

  window.onload = () => {
    console.log("頁面加載完成")

    const resize = () => {
    
        calcFontSize();

    }
    window.onresize = resize;
  }

})()

我們?nèi)ロ撁嫔喜榭?,會發(fā)現(xiàn)當我們拖動文檔流的時候,字體并不會重新設置。如下我拖了兩次都沒有觸發(fā)修改。同樣是12.8.

前端設置頁面字體尺寸跟隨屏幕大小而進行變化

?

只有當我們改完電腦屏幕分辨率后,它才會重新設置。就比如,我從筆記本的屏幕拖動項目到外接顯示器上。它就會響應重新設置 font-size。如下:

前端設置頁面字體尺寸跟隨屏幕大小而進行變化

?當我拖到外接顯示器后,它自動的出發(fā)了 calcFontSize 方法重新配置了字體大小。

?到這里我們的主功能就設置結束了。

但是我們發(fā)現(xiàn)每次觸發(fā)resize后。

前端設置頁面字體尺寸跟隨屏幕大小而進行變化

我們的resize被執(zhí)行了兩次?這是怎么回事呢?

這是因為,每次window.onresize? 都會去執(zhí)行 resize,而在屏幕分辨率發(fā)生變化的時候,window.onresize?和瀏覽器的自身實現(xiàn)有關系.不同的瀏覽器和操作系統(tǒng)實現(xiàn)可能不一樣,目前谷歌是執(zhí)行了兩次,有是時候是一次。所以導致頁面變化有點閃動。那怎么辦呢?

那就是去增加settimeout 來達到短時間只觸發(fā)一次的效果。

(() => {
  // 設置字體大小
  function calcFontSize() {
    const zoom = window.screen.width / 1920;
    const size = zoom * 16;
    document.documentElement.style.fontSize = size + 'px';
    console.log('設置字體大小', size);
  }

  window.onload = () => {
    console.log("頁面加載完成")
    let resize_timer = null;
    const resize = () => {
      if (resize_timer) {
        clearTimeout(resize_timer);
      }
      resize_timer = setTimeout(() => {
        resize_timer = null;
        calcFontSize();
      }, 500);
    }
    window.onresize = resize;
  }

})()

上述代碼中,我們利用防抖的方式來使用setTimeout 達到了讓 resize 在短時間內(nèi)只執(zhí)行一次的效果。再次嘗試后發(fā)現(xiàn),頁面功能一切正常。

頁面組件樣式大小也達到了我們的要求。文章來源地址http://www.zghlxwxcb.cn/news/detail-411345.html

到了這里,關于前端設置頁面字體尺寸跟隨屏幕大小而進行變化的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • idea如何設置通過鼠標去改變字體的大小,idea如何進行作者署名以及時間顯示

    idea如何設置通過鼠標去改變字體的大小,idea如何進行作者署名以及時間顯示

    目錄 一、idea如何設置通過鼠標去改變字體的大小 步驟: 1、縮小字體 ?2、放大字體 二、idea如何進行作者署名以及時間顯示 步驟:? 設置settings——鍵盤設置keymap——縮小字體decrease——右擊decrease font size添加鼠標快捷鍵add mouse shortcut——ctrl+鼠標下滑縮小字體(當然你可以上

    2024年02月14日
    瀏覽(514)
  • 微信小程序:設置字體跟隨手機系統(tǒng)

    小程序開發(fā):全局設置跟隨手機系統(tǒng)默認字體 最近在開發(fā)一款微信小程序,發(fā)現(xiàn)字體不是跟隨手機系統(tǒng)設置的字體,這樣對用戶很不友好,通過下面這行代碼,就可以將頁面的字體搞成系統(tǒng)默認字體了。 提示:要設置在app.wxss里面 代碼如下: 以上就是今天分享的內(nèi)容啦~ ??

    2024年02月13日
    瀏覽(50)
  • android設置豎屏仍然跟隨屏幕旋轉怎么辦

    android設置豎屏仍然跟隨屏幕旋轉怎么辦

    如題所問,我最近遇到一個bug,就是設置了搖感,然后有用戶反饋說設置了手機下拉的系統(tǒng)設置-屏幕旋轉-關閉。然后屏幕還是會旋轉的問題。 首先,我們先從如何設置橫豎屏了解下好了 設置橫屏和豎屏的方法: 方法一:在AndroidManifest.xml中配置 如果不想讓軟件在橫豎屏之間

    2024年02月13日
    瀏覽(33)
  • qt設置tableview單元大小跟隨窗口變化

    qt設置tableview單元大小跟隨窗口變化

    設置效果過于離奇。 右側為代碼設置顯示效果

    2024年02月11日
    瀏覽(31)
  • Android布局字體大小不根據(jù)用戶設置字體大小變化而變化

    先獲取用戶設置字體配置 fontSize 正常是1 大的是1.2 小的是 0.9 不一定就是這個值 差不多就是這樣的 然后設置字體大小,如果像設置16sp 即可

    2024年01月25日
    瀏覽(19)
  • 使用Vue @media print在JavaScript中插入不同尺寸的打印頁面,可自定義尺寸大小和打印機配置

    本文介紹了如何在Vue項目中使用@media print和JavaScript來插入不同尺寸的打印頁面,并提供了代碼編寫、使用教程、注意事項和避坑點,最后進行了總結。 在開發(fā)Web應用程序時,經(jīng)常需要提供打印功能。Vue框架提供了@media print媒體查詢,可以根據(jù)打印需求自定義打印頁面的樣式

    2024年02月05日
    瀏覽(71)
  • VSCode設置鼠標滾輪滑動設置字體大小

    1:打開\\\"文件-首選項-設置 2 :打開settings.json文件 英文版這里有個坑 一般點擊我下圖右上角那個{ } 就可以打開了 在 設置的json 文件中加入如下 “editor.mouseWheelZoom”: true { “editor.mouseWheelZoom”: true, “json.schemas”: [ }

    2024年02月13日
    瀏覽(94)
  • QLable代碼實現(xiàn)設置字體顏色、位置、字體大小用法
  • IDEA 設置字體大小無效

    IDEA 設置字體大小無效

    設置字體大小,一般都是從file=settings=editor=font=Size里設置,一般都有效。 ? 但是,如果是更換了主體,則需要從主體顏色菜單那里這是,你看這個頁面,上面黃色三角也提示你了,要去顏色主體菜單去設置,進入同級目錄:Editor=Color Scheme,然后修改Font,APPLY之后就生效了。

    2024年02月13日
    瀏覽(86)
  • uniapp用戶設置字體大小

    目前感覺沒有特別完美的解決方法 1.首先新建一個功能js文件fongbase.js 2.新建一個用戶控制大小的界面,這里用的是uniapp的滑塊組件 3.在想要修改的頁面加代碼塊內(nèi)容,麻煩的就是需要一個個頁面去添加,然后改單位,我的理解是page-mate的根字節(jié)大小改為了14px,那么單位要改

    2024年02月11日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包