Adaptable a la resolución de pantalla de Vue PC

Escenas

Los diferentes tamaños de pantalla de computadora se escalan proporcionalmente y se adaptan según el ancho. La unidad en el código todavía usa px y se restaura de acuerdo con el tamaño del borrador del diseño. Se convertirá a rem automáticamente.

primer paso

instalar dependencias

npm install postcss-px2rem px2rem-loader --save

segundo paso

Para crear un nuevo archivo rem.js, puede crear un nuevo directorio utils y colocarlo debajo de él. El archivo de código rem.js es el siguiente

// rem等比适配配置文件
// 基准大小
const baseSize = 16;
// 设置 rem 函数
function setRem() {
    
    
  // 当前页面屏幕分辨率相对于1920宽的缩放比例,可根据自己需要修改
  let scale = document.documentElement.clientWidth / 1920;
  // 下面这一行代码可以忽略,这是我另外加的,我加这行代码是为了屏幕宽度小于1280时就不继续等比缩放了
  if (document.documentElement.clientWidth < 1280) scale = 1280 / 1920
  // 设置页面根节点字体大小(“Math.min(scale, 2)” 指最高放大比例为2,可根据实际业务需求调整)
  document.documentElement.style.fontSize = `${
      
      baseSize * Math.min(scale, 1)}px`;
}
// 初始化
setRem();
// 改变窗口大小时重新设置 rem
window.onresize = () => {
    
    
  setRem();
};

tercer paso

Introduce rem.js en el archivo main.js

el cuarto paso

Configure el complemento en vue.config.js, reinicie después de la configuración

// 引入等比适配插件
const px2rem = require('postcss-px2rem');

// 配置基本大小
const postcss = px2rem({
    
    
  // 基准大小 baseSize,需要和rem.js中相同
  remUnit: 16,
});
module.exports = {
    
    
	其他代码...
	css: {
    
    
      loaderOptions: {
    
    
        postcss: {
    
    
          plugins: [
            postcss,
          ],
        },
      },
    }
}

Esto completa la pantalla adaptativa.

poco conocimiento

Si desea que un elemento no se escale con el tamaño de la pantalla, puede escribir PX en mayúsculas, como ancho: 200PX; para que este elemento siempre sea este píxel. Además, como hoy es el Día del Programador, acabo de publicar este blog, je, je. ¡Felices 1024 programadores!

Supongo que te gusta

Origin blog.csdn.net/zhangxiaodui/article/details/127489131
Recomendado
Clasificación