欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue3中如何使用rem來控制字體大小問題

 更新時間:2023年07月04日 16:41:02   作者:KyleZhou_  
這篇文章主要介紹了Vue3中如何使用rem來控制字體大小問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue3使用rem控制字體大小

方法一

需要在index.html中寫入監(jiān)聽事件

【注】:獲取html、body是有特定的方法的

  <script>
    let tid = null;
    function resizeWindow() {
      const docEl = document.documentElement;
      //當(dāng)前頁面的長度
      const HtmlDom = docEl.getBoundingClientRect().width;
      //設(shè)置rem
      docEl.style.fontSize = HtmlDom / 192 + "px";
    }
    window.addEventListener("resize", () => {
      this.clearTimeout(tid);
      tid = this.setTimeout(resizeWindow, 300);
    });
    resizeWindow();
  </script>

記錄vue使用rem實現(xiàn)頁面動態(tài)響應(yīng)

rem適配介紹

根據(jù) W3C 規(guī)范中對 1rem 的定義:

1rem 與等于根元素 font-size 的計算值。當(dāng)明確規(guī)定根元素的 font-size 時,rem 單位以該屬性的初始值作參照。

這就意味著 1rem 等于 html 元素的字體大?。ù蟛糠譃g覽器根元素的字體大小為16px)

兼容性

  • ios:6.1系統(tǒng)以上都支持
  • android:2.1系統(tǒng)以上都支持

大部分主流瀏覽器都支持,可以安心的往下看了

rem:(font size of the root element)

意思就是根據(jù)網(wǎng)頁的根元素來設(shè)置字體大小,和em(font size of the element)的區(qū)別是,em是根據(jù)其父元素的字體大小來設(shè)置,而rem是根據(jù)網(wǎng)頁的根元素(html)來設(shè)置字體大小的,舉一個簡單的例子,

現(xiàn)在大部分瀏覽器IE9+,F(xiàn)irefox、Chrome、Safari、Opera ,如果我們不修改相關(guān)的字體配置,都是默認(rèn)顯示font-size是16px。

舉個例子:

?? ?//假設(shè)我給根元素的大小設(shè)置為16px
?? ?html{
?? ??? ? font-size:16px
?? ?}
?? ?//那么我底下的p標(biāo)簽如果想要也是16像素
?? ?p{
?? ??? ? font-size:1rem
?? ?}
?? ?//如此即可

實際操作

1. 創(chuàng)建rem.js

// rem等比適配配置文件
// 基準(zhǔn)大小
const baseSize = 16;
// 設(shè)置 rem 函數(shù)
function setRem() {
? // 當(dāng)前頁面寬度相對于 1920寬的縮放比例,可根據(jù)自己需要修改。
? const scale = document.documentElement.clientWidth / 1920;
? // 設(shè)置頁面根節(jié)點字體大?。ā癕ath.min(scale, 2)” 指最高放大比例為2,可根據(jù)實際業(yè)務(wù)需求調(diào)整)
? document.documentElement.style.fontSize =
? ? baseSize * Math.min(scale, 2) + "px";
}
// 初始化
setRem();
// 改變?yōu)g覽器窗口大小時重新設(shè)置 rem
window.onresize = function() {
? setRem();
};

2.在main.js引入rem.js

import './libs/rem.js'

3.頁面使用

頁面布局盡量是用百分比,其他所有配置盡量是rem,尤其是字體大小

<div id="div1">我是一個div標(biāo)簽</div>
#div1{ ? ?
?// width:100%;
? font-size: 1rem; ?
? width: 16rem; ??
? height: 2rem;?
? background-color: lawngreen;
}

這樣當(dāng)頁面改變時div里面的文字也會跟著變。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 100行代碼理解和分析vue2.0響應(yīng)式架構(gòu)

    100行代碼理解和分析vue2.0響應(yīng)式架構(gòu)

    通過100行代碼幫助大家理解和分析vue2.0響應(yīng)式架構(gòu)的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • vue?serve及其與vue-cli-service?serve之間的關(guān)系解讀

    vue?serve及其與vue-cli-service?serve之間的關(guān)系解讀

    這篇文章主要介紹了vue?serve及其與vue-cli-service?serve之間的關(guān)系,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue3 table表格組件的使用

    Vue3 table表格組件的使用

    這篇文章主要介紹了Vue3 table表格組件的使用,文章圍繞table表格組件是如何使用的相關(guān)資料展開詳細內(nèi)容,需要的朋友可以參考一下
    2021-11-11
  • Vue props用法詳解(小結(jié))

    Vue props用法詳解(小結(jié))

    這篇文章主要介紹了Vue props用法詳解(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • 淺談Vue組件單元測試究竟測試什么

    淺談Vue組件單元測試究竟測試什么

    這篇文章主要介紹了淺談Vue組件單元測試究竟測試什么,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • el-table組件實現(xiàn)表頭搜索功能

    el-table組件實現(xiàn)表頭搜索功能

    文章介紹了如何使用`el-table`組件和`render-header`屬性自定義表頭,并添加搜索功能,通過`Popover`組件和`Clickoutside`指令實現(xiàn)點擊搜索區(qū)域外隱藏搜索框,解決了多個表頭搜索框共存時的沖突問題,感興趣的朋友一起看看吧
    2024-11-11
  • Vue3 編譯流程-源碼解析

    Vue3 編譯流程-源碼解析

    今天將從 Vue 的入口文件開始,看看聲明了一個 Vue 的單文件之后是如何被 compile-core 編譯核心模塊編譯成渲染函數(shù)的。下面小編講解并附上代碼分析展現(xiàn)在文章里,感興趣的小伙伴不要錯過奧
    2021-09-09
  • Vue實現(xiàn)hash模式網(wǎng)址方式(就是那種帶#的網(wǎng)址、井號url)

    Vue實現(xiàn)hash模式網(wǎng)址方式(就是那種帶#的網(wǎng)址、井號url)

    這篇文章主要介紹了Vue實現(xiàn)hash模式網(wǎng)址方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • vue+element項目實時監(jiān)聽div寬度的變化

    vue+element項目實時監(jiān)聽div寬度的變化

    這篇文章主要介紹了vue+element項目里實時監(jiān)聽某個div寬度的變化,然后執(zhí)行相應(yīng)的事件,本文結(jié)合示例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2024-08-08
  • Vue vxe-table使用問題收錄小結(jié)

    Vue vxe-table使用問題收錄小結(jié)

    這篇文章主要為大家介紹了Vue vxe-table使用問題收錄小結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09

最新評論