使用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"來達(dá)到高清適配的效果。
2.因?yàn)閔tml的font-size是根據(jù)屏幕寬度除以10計(jì)算出來的刷钢,所以我們需要設(shè)置頁面的最大寬度是10rem笋颤。
使用postcss-px2rem-exclude自動(dòng)將css中的px轉(zhuǎn)成rem
如果每次從設(shè)計(jì)稿量出來的尺寸都手動(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,如果沒有阱缓,新建個(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了