使用lib-flexible實(shí)現(xiàn)移動(dòng)端適配
1.安裝lib-flexible
npm install lib-flexible --save
2.在項(xiàng)目的入口main.js文件中引入lib-flexible
import 'lib-flexible'
lib-flexible會(huì)自動(dòng)在html的head中添加一個(gè)meta name="viewport"的標(biāo)簽,同時(shí)會(huì)自動(dòng)設(shè)置html的font-size為屏幕寬度除以10,也就是1rem等于html根節(jié)點(diǎn)的font-size。假如設(shè)計(jì)稿的寬度是750px,此時(shí)1rem應(yīng)該等于75px。假如量的某個(gè)元素的寬度是150px,那么在css里面定義這個(gè)元素的寬度就是 width: 2rem
注意:
1.檢查一下html文件的head中,如果有 meta name="viewport"標(biāo)簽,需要將他注釋掉,因?yàn)槿绻羞@個(gè)標(biāo)簽的話,lib-flexible就會(huì)默認(rèn)使用這個(gè)標(biāo)簽。而我們要使用lib-flexible自己生成的 meta name="viewport"來(lái)達(dá)到高清適配的效果。
2.因?yàn)閔tml的font-size是根據(jù)屏幕寬度除以10計(jì)算出來(lái)的,所以我們需要設(shè)置頁(yè)面的最大寬度是10rem。
使用postcss-px2rem-exclude自動(dòng)將css中的px轉(zhuǎn)成rem
如果每次從設(shè)計(jì)稿量出來(lái)的尺寸都手動(dòng)去計(jì)算一下rem,會(huì)導(dǎo)致效率比較慢,還有可能會(huì)計(jì)算錯(cuò)誤,所以我們可以使用postcss-px2rem-exclude自動(dòng)將css中的px轉(zhuǎn)成rem
1.安裝postcss-px2rem-exclude
npm install postcss-px2rem-exclude -D
2.配置 postcss-px2rem-exclude
在項(xiàng)目的根目錄下找到文件postcss.config.js,如果沒(méi)有,新建個(gè),在里面添加如下代碼
module.exports = {
plugins: {
autoprefixer: {},
"postcss-px2rem-exclude": {
remUnit: 75,
exclude: /node_modules|floder_name/i //忽略node_modules目錄下的文件
}
}
};
注意:
1.此方法只能將.vue文件style標(biāo)簽中的px轉(zhuǎn)成rem,不能將script標(biāo)簽和元素style里面定義的px轉(zhuǎn)成rem
2.如果在.vue文件style中的某一行代碼不希望被轉(zhuǎn)成rem,只要在后面寫上注釋 /* no*/
最后重啟項(xiàng)目就可以看到px自動(dòng)轉(zhuǎn)為rem了