Vue項(xiàng)目使用PostCSS做h5頁(yè)面的屏幕適配的配置步驟
1. 創(chuàng)建或選擇 Vue 項(xiàng)目
如果你還沒(méi)有 Vue 項(xiàng)目,可以使用 Vue CLI 創(chuàng)建一個(gè)新的項(xiàng)目:
npm install -g @vue/cli vue create my-vue-project cd my-vue-project
2. 安裝 PostCSS 及相關(guān)插件
安裝 postcss
、postcss-loader
和之前提到的 postcss-pxtorem
插件:
npm install postcss postcss-loader postcss-pxtorem --save-dev
3. 配置 PostCSS
在項(xiàng)目根目錄下創(chuàng)建或修改 postcss.config.js
文件,示例配置如下:
module.exports = { plugins: { 'postcss-pxtorem': { rootValue: 37.5, // 根元素字體大小,根據(jù)設(shè)計(jì)稿調(diào)整,一般設(shè)置為設(shè)計(jì)稿寬度的1/10 propList: ['*'], // 需要轉(zhuǎn)換的屬性,* 表示所有屬性都轉(zhuǎn)換 selectorBlackList: ['.ignore-'], // 選擇器黑名單,匹配到的選擇器中的 px 不轉(zhuǎn)換 minPixelValue: 2 // 最小轉(zhuǎn)換的像素值,小于該值的 px 不轉(zhuǎn)換 } } };
不轉(zhuǎn)換微小尺寸
通常來(lái)說(shuō),minPixelValue
設(shè)置為 1
或 2
是比較常見(jiàn)的選擇。這樣做的目的是避免將一些微小的尺寸(如邊框?qū)挾?、陰影偏移量等)轉(zhuǎn)換為 rem 單位,因?yàn)檫@些微小尺寸如果轉(zhuǎn)換后可能會(huì)因?yàn)樾?shù)計(jì)算而導(dǎo)致顯示上的細(xì)微差異,甚至在某些設(shè)備上出現(xiàn)顯示異常。
4. 配置 Vue 項(xiàng)目中的 vue.config.js
在項(xiàng)目根目錄下創(chuàng)建或修改 vue.config.js
文件,添加 css
配置項(xiàng),以啟用 postcss-loader
:
module.exports = { css: { loaderOptions: { postcss: { postcssOptions: { plugins: [ require('postcss-pxtorem')({ // 這里的配置也可以直接寫(xiě)在 postcss.config.js 里 // 如果你已經(jīng)在 postcss.config.js 配置好了,這里可以省略 }) ] } } } } };
5. 在 Vue 組件中編寫(xiě) CSS
在 Vue 組件的 <style>
標(biāo)簽中使用 px
單位編寫(xiě)樣式,例如:
<template> <div class="box"> This is a box. </div> </template> <style scoped> .box { width: 375px; height: 100px; font-size: 16px; background-color: lightblue; } </style>
6. 設(shè)置根元素字體大小
為了讓 rem
單位生效,需要在項(xiàng)目入口文件(通常是 src/main.js
)中動(dòng)態(tài)設(shè)置根元素(<html>
)的字體大小??梢蕴砑右韵麓a:
// src/main.js new Vue({ render: h => h(App), }).$mount('#app'); // 設(shè)置根元素字體大小 document.documentElement.style.fontSize = document.documentElement.clientWidth / 10 + 'px'; window.addEventListener('resize', () => { document.documentElement.style.fontSize = document.documentElement.clientWidth / 10 + 'px'; });
上述代碼根據(jù)屏幕寬度動(dòng)態(tài)設(shè)置根元素的字體大小,并且在窗口大小改變時(shí)重新設(shè)置,確保在不同屏幕尺寸下都能正常適配。
7. 運(yùn)行項(xiàng)目
運(yùn)行以下命令啟動(dòng)開(kāi)發(fā)服務(wù)器:
npm run serve
現(xiàn)在,當(dāng)你打開(kāi)瀏覽器查看項(xiàng)目時(shí),Vue 組件中使用 px
單位編寫(xiě)的樣式會(huì)被自動(dòng)轉(zhuǎn)換為 rem
單位,從而實(shí)現(xiàn)手機(jī)端屏幕適配。
通過(guò)以上步驟,你就可以在 Vue 項(xiàng)目中成功應(yīng)用配置好的 PostCSS 進(jìn)行屏幕適配。如果需要其他功能,還可以結(jié)合更多的 PostCSS 插件進(jìn)行配置。
到此這篇關(guān)于Vue項(xiàng)目使用PostCSS做h5頁(yè)面的屏幕適配的配置步驟的文章就介紹到這了,更多相關(guān)Vue PostCSS做h5頁(yè)面屏幕適配內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue中的計(jì)算屬性的使用和vue實(shí)例的方法示例
本篇文章主要介紹了vue計(jì)算屬性的使用和vue實(shí)例的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12vue3.0中ref與reactive的區(qū)別及使用場(chǎng)景分析
ref與reactive都是Vue3.0中新增的API,用于響應(yīng)式數(shù)據(jù)的處理,這篇文章主要介紹了vue3.0中ref與reactive的區(qū)別及使用,需要的朋友可以參考下2023-08-08使用el-checkbox-group選中后值為true和false遇到的坑
這篇文章主要介紹了使用el-checkbox-group選中后值為true和false遇到的坑及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07解決Vue路由導(dǎo)航報(bào)錯(cuò):NavigationDuplicated:?Avoided?redundant?navig
這篇文章主要給大家介紹了關(guān)于解決Vue路由導(dǎo)航報(bào)錯(cuò):NavigationDuplicated:?Avoided?redundant?navigation?to?current?location的相關(guān)資料,這是最近做項(xiàng)目時(shí)候遇到的一個(gè)問(wèn)題,現(xiàn)將解決辦法分享出來(lái),需要的朋友可以參考下2023-01-01vue2.0路由切換后頁(yè)面滾動(dòng)位置不變BUG的解決方法
下面小編就為大家分享一篇vue2.0路由切換后頁(yè)面滾動(dòng)位置不變BUG的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03Vue中Layout內(nèi)部布局el-row、el-col的實(shí)現(xiàn)
layout是一種非常方便的布局方式,本文主要介紹了Vue中Layout內(nèi)部布局el-row、el-col的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-07-07淺談將three項(xiàng)目遷移至vue項(xiàng)目遇到的問(wèn)題
本文主要介紹了將three項(xiàng)目遷移至vue項(xiàng)目遇到的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01vue2.0+elementui實(shí)現(xiàn)一個(gè)上門取件時(shí)間組件
這篇文章主要給大家介紹了關(guān)于vue2.0+elementui實(shí)現(xiàn)一個(gè)上門取件時(shí)間組件的相關(guān)資料,用于預(yù)約上門服務(wù)時(shí)間 看到網(wǎng)上有很多亂七八糟的代碼,看著頭疼,于是自己寫(xiě)了一個(gè)簡(jiǎn)單的,需要的朋友可以參考下2024-02-02vue登錄頁(yè)實(shí)現(xiàn)使用cookie記住7天密碼功能的方法
這篇文章主要介紹了vue登錄頁(yè)實(shí)現(xiàn)使用cookie記住7天密碼功能的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02