vue3.0中使用postcss-pxtorem的具體方法
postcss-pxtorem是PostCSS的插件,用于將像素單元生成rem單位。
前端開(kāi)發(fā)還原設(shè)計(jì)稿的重要性毋庸置疑,目前應(yīng)用的單位最多還是rem,然而每次在制作過(guò)程中需要自己計(jì)算rem值,為了能夠直接按照設(shè)計(jì)圖的尺寸開(kāi)發(fā),并且能自動(dòng)編譯轉(zhuǎn)換成rem,下面就來(lái)分享下postcss-pxtorem的使用。
1.安裝依賴
npm install postcss-pxtorem -D
2.設(shè)置規(guī)則(更改postcss.config.js,該文件為使用vue-cli3自動(dòng)創(chuàng)建的文件)
module.exports = { plugins: { 'autoprefixer': { browsers: ['Android >= 4.0', 'iOS >= 7'] }, 'postcss-pxtorem': { rootValue: 16,//結(jié)果為:設(shè)計(jì)稿元素尺寸/16,比如元素寬320px,最終頁(yè)面會(huì)換算成 20rem propList: ['*'] } } }
操作到這里移動(dòng)端自動(dòng)適配了嗎,當(dāng)然不能,目前只是將px單位轉(zhuǎn)換成rem,移動(dòng)端適配還差最后一步,初接觸rem理解起來(lái)有點(diǎn)懵,后來(lái)發(fā)現(xiàn)了一個(gè)好理解的方法,下面來(lái)分享一下。
現(xiàn)在我們作一個(gè)實(shí)驗(yàn),你可以新建一個(gè)網(wǎng)頁(yè),并寫(xiě)入如下代碼:
<div class="test"> <p class="hello">Hello</p> </div>
然后給html一個(gè)基本的樣式:
.test{ width:320px; height:160px; background-color: bisque; text-align: center; } .hello{ color:red; }
上邊我們使用了還是傳統(tǒng)的使用px作為單位,我們?cè)谝苿?dòng)端調(diào)試模式iphone5環(huán)境查看一下。會(huì)發(fā)現(xiàn)div的寬度是正好的,我們?cè)俨榭匆幌伦煮w,發(fā)現(xiàn)大小是16px。
我們現(xiàn)在可以把CSS中的px單位換成rem單位來(lái)進(jìn)行測(cè)試。因?yàn)閔tml根元素的字體大小是16px,那么換成rem單位,直接除以16就好。
.test{ width:20rem; height:10rem; background-color: bisque; text-align: center; } .hello{ color:red; font-size:1rem; }
明白了REM的原理后,我們就可以使用這個(gè)特點(diǎn)來(lái)進(jìn)行適應(yīng)布局了,這也是現(xiàn)在比較主流的移動(dòng)端web適配方案。src目錄下,新建 libs/rem.js 輸入如下代碼
// 設(shè)置 rem 函數(shù) function setRem () { // 320 默認(rèn)大小16px; 320px = 20rem ;每個(gè)元素px基礎(chǔ)上/16 let htmlWidth = document.documentElement.clientWidth || document.body.clientWidth; //得到html的Dom元素 let htmlDom = document.getElementsByTagName('html')[0]; //設(shè)置根元素字體大小 htmlDom.style.fontSize= htmlWidth/20 + 'px'; } // 初始化 setRem(); // 改變窗口大小時(shí)重新設(shè)置 rem window.onresize = function () { setRem() }
在main.js中引入rem.js
import './libs/rem.js';
最后刷新頁(yè)面看下,就會(huì)發(fā)現(xiàn)原本用px的單位已經(jīng)自動(dòng)換算成了rem;
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
element自定義 多文件上傳 觸發(fā)多次on-change問(wèn)題
這篇文章主要介紹了element自定義 多文件上傳 觸發(fā)多次on-change問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03vue中動(dòng)態(tài)添加style樣式的幾種寫(xiě)法總結(jié)
這篇文章主要介紹了vue中動(dòng)態(tài)添加style樣式的幾種寫(xiě)法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10vue3?element?plus?table?selection展示數(shù)據(jù),默認(rèn)選中功能方式
這篇文章主要介紹了vue3?element?plus?table?selection展示數(shù)據(jù),默認(rèn)選中功能方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07Vue3文件下載方法實(shí)現(xiàn)的簡(jiǎn)單代碼
在Web開(kāi)發(fā)中,文件下載可通過(guò)多種方式實(shí)現(xiàn),下面這篇文章主要介紹了Vue3文件下載方法實(shí)現(xiàn)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-10-10關(guān)于vue data中的this指向問(wèn)題
這篇文章主要介紹了關(guān)于vue data中的this指向問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07Vue+Element-UI中el-table動(dòng)態(tài)合并單元格:span-method方法代碼詳解
el-table是element-ui提供的表格組件,可以用于展示和操作數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于Vue+Element-UI中el-table動(dòng)態(tài)合并單元格:span-method方法的相關(guān)資料,需要的朋友可以參考下2023-09-09