日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue引入postcss-plugin-px2rem,px转rem

發布時間:2023/12/6 vue 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue引入postcss-plugin-px2rem,px转rem 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
npm install --save-dev postcss-plugin-px2rem

vue.config.js

module.exports = {css: {loaderOptions: {postcss: {plugins: [require('postcss-plugin-px2rem')({rootValue: 16, //換算基數, 默認100 ,1 / fontsize(html) = x 原來的1px轉為0.0625rem// unitPrecision: 5, //允許REM單位增長到的十進制數字。//propWhiteList: [], //默認值是一個空數組,這意味著禁用白名單并啟用所有屬性。// propBlackList: [], //黑名單// exclude: /(node_modules)/, //默認false,可以(reg)利用正則表達式排除某些文件夾的方法,例如/(node_module)/ 。如果想把前端UI框架內的px也轉換成rem,請把此屬性設為默認值// selectorBlackList: [], //要忽略并保留為px的選擇器// ignoreIdentifier: false, //(boolean/string)忽略單個屬性的方法,啟用ignoreidentifier后,replace將自動設置為true。// replace: true, // (布爾值)替換包含REM的規則,而不是添加回退。// mediaQuery: false, //(布爾值)允許在媒體查詢中轉換px。// minPixelValue: 3 //設置要替換的最小像素值(3px會被轉rem)。 默認 0//exclude: "/node_modules/",// selectorBlackList: ['html', 'mint-', 'mt-', 'mpvue-', 'calendar', 'iconfont'], //在rem.js全局作用下 排除指定的文件的影響// propBlackList: ['border']})]}}} }
  • 以上完成px->rem,為了某些已經以rem為單位的組件不受影響,如消息框圖標,這里將rootValue設置為html默認字體大小16px(html根字體大小代表rem代表的大小,此時1rem=16px)
  • main.js中引入rem.js,監聽窗口變化,等比例改變根fontsize達到改變rem的大小

rem.js

// 設置 rem 函數 function setRem() {let htmlWidth = document.documentElement.clientWidth// let htmlHeight = document.documentElement.clientHeight//得到html的Dom元素let htmlDom = document.getElementsByTagName('html')[0];// //設置根元素字體大小 937 / 16 = 58.5625 , 937是谷歌1080 - 工具欄高度// htmlDom.style.fontSize = (htmlHeight / 58.5625) + 'px';//設置根元素字體大小 1920 / 16 = 120htmlDom.style.fontSize = (htmlWidth / 120) + 'px'; } // 初始化 setRem(); // 改變窗口大小時重新設置 rem window.onresize = function () {setRem() }

總結

以上是生活随笔為你收集整理的vue引入postcss-plugin-px2rem,px转rem的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。