书写meta标签
<--index.html-->
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
- 禁止缩放(把下方meta标签写到html的head标签中)
- viewport 就是设备的屏幕上能用来显示我们的网页的那一块区域(视觉视口)。
- width=device-width 让css宽度等于设备宽度
- initial-scale=1 初始化缩放比例为1
- maximum-scale=1 最大缩放比例为1
- minimum-scale=1 最小缩放比例为1
- user-scalable=no 禁止用户缩放
重置根元素字体大小(font-size)
<--index.html-->
window.onload = function () {
const baseSize = 75;
function setRem() {
const scale = document.documentElement.clientWidth / 750;
document.documentElement.style.fontSize = (baseSize * scale) + 'px';
}
setRem();
window.addEventListener('resize', () => {
setRem();
});
document.addEventListener('touchstart', function (event) {
if (event.touches.length > 1) {
event.preventDefault();
}
})
var lastTouchEnd = 0;
document.addEventListener('touchend', function (event) {
var now = (new Date()).getTime();
if (now - lastTouchEnd <= 300) {
event.preventDefault();
}
lastTouchEnd = now;
}, false)
}
配置postcss-pxtorem(正常的项目)
- 下载postcss-pxtorem npm install postcss-pxtorem --save-dev
- 配置 <--postcss.config.js (在项目根目录,跟package.json同级)
<--postcss.config.js (在项目根目录,跟package.json同级)-->
module.exports = {
plugins: {
autoprefixer: {
browsers: ['Android >= 4.0', 'iOS >= 8'],
},
'postcss-pxtorem': {
rootValue: 37.5, // 换算的基数
propList: ['*'],
},
},
};
- 让对应的ui组件库也能够用上rem (这里以vant为例)
<--vue.config.js-->
module.exports = {
transpileDependencies: ['vant'],
}
配置postcss-pxtorem(当项目被其他目录嵌套,node_modules在最外层目录时)
<--vue.config.js-->
module.exports = {
css: {
loaderOptions: {
postcss: {
plugins: [
require('postcss-pxtorem')({
rootValue: 37.5, // 换算的基数
propList: ['*'],
}),
]
}
}
},
}
vant rem介绍
postcss-pxtorem githb地址