vue项目rem插件自适应问题:刷新后才生效
在vue项目中,为了实现页面内容自适应不同屏幕大小,许多开发者会使用rem插件(例如px2rem-loader)。然而,常见问题是:页面只有刷新后才能正确自适应。
问题描述
项目配置如下:
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
喜欢就支持一下吧
相关推荐