vue vant移動(dòng)端 rem 適配

如果是做 PC 端的網(wǎng)頁(yè)即舌,無(wú)需做 rem 適配佣盒,但是做 H5 開發(fā),rem 是需要做一下的顽聂,Vant 官方也為我們提供了方案肥惭,如下圖所示:


image.png

咱們就按照官方為我們提供的方案進(jìn)行適配,安裝它們:

yarn add lib-flexible -S
yarn add postcss-pxtorem -D
//這里 lib-flexible 是網(wǎng)頁(yè)做 html 的 font-size 適配用的紊搪,所以需要安裝到 
<br/>//dependencies蜜葱。而 postcss-pxtorem 是在編譯的時(shí)候?qū)?px 單位轉(zhuǎn)
<br/>//換為 rem 單位時(shí)使用,所以安裝到 devDependencies 便可耀石。

安裝好后牵囤,我們需要在 main.js 引入 lib-flexible,新增如下代碼:

import { createApp } from 'vue'
import { Button } from 'vant';
import 'lib-flexible/flexible'
import App from './App.vue'
import router from './router'
import 'vant/lib/index.css'; // 全局引入樣式
import './index.css'

const app = createApp(App) // 創(chuàng)建實(shí)例

app.use(Button) // 注冊(cè)組件
app.use(router)

app.mount('#app')

接著我們需要為 px 單位轉(zhuǎn) rem 單位做配置。

起初我犯了一個(gè)錯(cuò)誤揭鳞,在根目錄聲明 .postcssrc.js 文件炕贵,但是目前 Vite 創(chuàng)建的項(xiàng)目已經(jīng)不支持這種形式的配置文件了,而是需要 postcss.config.js 文件野崇,配置內(nèi)容如下:

// postcss.config.js
// 用 vite 創(chuàng)建項(xiàng)目鲁驶,配置 postcss 需要使用 post.config.js,之前使用的 .postcssrc.js 已經(jīng)被拋棄
// 具體配置可以去 postcss-pxtorem 倉(cāng)庫(kù)看看文檔
module.exports = {
  "plugins": {
    "postcss-pxtorem": {
      rootValue: 37.5, // Vant 官方根字體大小是 37.5
      propList: ['*'],
      selectorBlackList: ['.norem'] // 過(guò)濾掉.norem-開頭的class舞骆,不進(jìn)行rem轉(zhuǎn)換
    }
  }
}

給 src/views/Home.vue 文件里的 div 一個(gè)樣式钥弯,檢查一下 rem 適配是否成功:

<template>
  <div class="demo">我是十四</div>
  <van-button type="primary" size="large">大號(hào)按鈕</van-button>
</template>

<script>
export default {
}
</script>

<style scoped>
.demo {
  width: 100px;
  height: 100px;
  background-color: aquamarine;
}
</style>
image.png
如若是上圖所示,說(shuō)明配置已經(jīng)生效了督禽。

這里還有一個(gè)需要注意的小知識(shí)點(diǎn):不需要 px 轉(zhuǎn) rem 的情況脆霎,可以使用大寫的 PX 作為單位。

編譯時(shí)不會(huì)將其轉(zhuǎn)化為 rem 單位狈惫,也可以通過(guò) selectorBlackList 屬性聲明的 .norem 前綴的 class 類名睛蛛,同樣也不會(huì)被轉(zhuǎn)化。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末胧谈,一起剝皮案震驚了整個(gè)濱河市忆肾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌菱肖,老刑警劉巖客冈,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異稳强,居然都是意外死亡场仲,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門退疫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)渠缕,“玉大人,你說(shuō)我怎么就攤上這事褒繁∫嗔郏” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵棒坏,是天一觀的道長(zhǎng)燕差。 經(jīng)常有香客問我,道長(zhǎng)俊抵,這世上最難降的妖魔是什么谁不? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮徽诲,結(jié)果婚禮上刹帕,老公的妹妹穿的比我還像新娘吵血。我一直安慰自己,他們只是感情好偷溺,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布蹋辅。 她就那樣靜靜地躺著,像睡著了一般挫掏。 火紅的嫁衣襯著肌膚如雪侦另。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天尉共,我揣著相機(jī)與錄音褒傅,去河邊找鬼。 笑死袄友,一個(gè)胖子當(dāng)著我的面吹牛殿托,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播剧蚣,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼支竹,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了鸠按?” 一聲冷哼從身側(cè)響起礼搁,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎目尖,沒想到半個(gè)月后馒吴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡卑雁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年募书,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片测蹲。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鬼吵,靈堂內(nèi)的尸體忽然破棺而出扣甲,到底是詐尸還是另有隱情,我是刑警寧澤齿椅,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布琉挖,位于F島的核電站,受9級(jí)特大地震影響涣脚,放射性物質(zhì)發(fā)生泄漏示辈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一遣蚀、第九天 我趴在偏房一處隱蔽的房頂上張望矾麻。 院中可真熱鬧纱耻,春花似錦、人聲如沸险耀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)甩牺。三九已至蘑志,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贬派,已是汗流浹背急但。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留搞乏,地道東北人波桩。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像查描,于是被迫代替她去往敵國(guó)和親突委。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容