为什么在Vue中使用rem插件后需要刷新才能自适应屏幕大小?

为什么在Vue中使用rem插件后需要刷新才能自适应屏幕大小?

vue项目rem插件自适应问题:刷新后才生效

vue项目中,为了实现页面内容自适应不同屏幕大小,许多开发者会使用rem插件(例如px2rem-loader)。然而,常见问题是:页面只有刷新后才能正确自适应。

问题描述

项目配置如下:

vue.config.JS:

const px2rem = require('postcss-px2rem'); const postcss = px2rem({   remUnit: 192 //基准大小,需与rem.js一致 }); module.exports = {   css: {     loaderOptions: {       postcss: {         plugins: [postcss]       }     }   } };

main.js:

立即学习前端免费学习笔记(深入)”;

import './utils/flexible'; import { setRemInit } from './utils/rem'; setRemInit(); // 初始化

实际情况:页面初次加载时显示效果不正确(预期效果未达到)。刷新后,页面才显示正确。返回前一页面,字体大小又会变回错误大小,无法保持自适应。

刷新前: (这里应有刷新前的图片)

刷新后(预期效果): (这里应有刷新后的图片)

解决方法及建议

虽然通常需要flexible.js配合px2rem-loader,但我们不建议在大多数项目中使用px2rem/px2vw这种缩放布局方案进行屏幕适配,除非是数据大屏等特殊项目。

对于展示型项目和管理后台,建议前期规划好UI主题的响应式断点和各尺寸组件预设,并使用CSS栅格布局来实现屏幕适配。这种方法能避免类似问题,并确保项目在各种设备上的良好显示效果。 这需要前期投入更多时间,但长期来看更稳定可靠。

以上就是

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享