如何快速实现响应式多屏幕适配

项目涉及的场景比较简单,所以我个人的配置也比较粗糙简单,如果要对于更详细的多端适配,可能需要更细致的设定,如果希望一键快速实现大体上过得去的pc端多端适配,可以用这个法子。

  1. 安装postcss(必须)+tailwindcss(可选)
  2. 安装postcss-plugin-px2rem(必须)
  3. 在豆包搜索postcss-plugin-px2rem如何配置应用在postcss.config.js文件里面按需配置(关键)
js 复制代码
module.exports = {
  plugins: [
    require('postcss-plugin-px2rem')({
      rootValue: 16, // 根元素字体大小(默认 16px,即 1rem = 16px)
      unitPrecision: 5, // 转换后的 rem 保留小数位数(默认 5)
      propList: ['*'], // 需要转换的 CSS 属性(默认 ['*'],即所有属性)
      selectorBlackList: [], // 不转换的选择器(如 ['body'],则 body 下的 px 不转换)
      replace: true, // 是否直接替换原 px 值(默认 true,不保留原 px)
      mediaQuery: false, // 是否转换媒体查询中的 px(默认 false,不转换)
      minPixelValue: 0, // 最小转换像素值(默认 0,即所有 px 都转换)
      exclude: /node_modules/i // 排除的文件路径(如 node_modules 下的样式不转换)
    })
  ]
}

后续需要详细配置的话,需要关注的两个属性

js 复制代码
selectorBlackList: [], 
mediaQuery: false, 
  1. 在App.vue 文件下添加(关键)
js 复制代码
function setRootFontSize() {
  const screenWidth = document.documentElement.clientWidth;
  const rootFontSize = screenWidth / 7.5; 
  document.documentElement.style.fontSize = `${rootFontSize}px`;
}

setRootFontSize();
window.addEventListener('resize', setRootFontSize);

这里因为我们项目主要是大屏和超大屏工作,所以我针对我们的项目具体应用场景做了一下更改

js 复制代码
function setRootFontSize() {
  const screenWidth = document.documentElement.clientWidth;
  if(screenWidth<1560){
      const rootFontSize = screenWidth / 75; 
      document.documentElement.style.fontSize = `${rootFontSize}px`;
  }
}

具体原理搜索rem是什么意思就行了

相关推荐
hunterandroid5 分钟前
HarmonyOS HUKS 密钥全生命周期实战:生成、轮换与失效处理
前端·华为
东鹏特饮14 分钟前
贪吃蛇小游戏html
前端·javascript·html
溪语流沙16 分钟前
【每天一个CSS | Day23】边框上有一道光在跑的流光呼吸卡片
前端·css
小马不起床18 分钟前
零基础玩转 FastAPI_10:前端登录、权限与布局
前端·状态模式·fastapi
程序员Sunday25 分钟前
JavaScript 深拷贝和浅拷贝有什么区别?structuredClone 能替代 JSON 拷贝吗?
前端·javascript
ShineWinsu1 小时前
对于CSS:选择器的解析
前端·css·面试·html·web·选择器·网页
m0_587383001 小时前
碰碰好评卡功能落地实战 从需求梳理到上线部署全流程实操指南
java·linux·服务器·前端·javascript·vue.js·人工智能
Pu_Nine_91 小时前
Vue‑Flow 从零入门实战|AI‑Agent 拓扑图开发
前端·javascript·vue.js
keyipatience1 小时前
CSS 学习(1):语法、引入方式、选择器、字体与背景
前端·css·html
程序人生8881 小时前
本地向量底座怎么搭?DocConverter Web 的 BGE 嵌入模型、ChromaDB 与外部 Milvus 接入
前端·milvus