恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

移动端 rem 适配方案(移动端浏览器 + Electron 双端兼容)

  • 首页
  • 资讯中心
  • /
  • 移动端 rem 适配方案(移动端浏览器 + Electron 双端兼容)

相关资讯

AMBA3_APB 2026/8/28 6:01:12
YOLOv5绝缘子缺陷检测实战:数据集、代码、模型与部署全指南 2026/8/28 6:01:12
大模型部署实战:从B200到AMD,显存规划与并行策略深度解析 2026/8/28 6:01:12

最新资讯

Go 语言入门笔记(九):包管理与依赖管理——Go Modules 到底怎么玩
中文NLP实战:spaCy zh-core-web-sm-3.8.0模型详解与应用指南
学习周记实践指南:构建个人知识管理系统,对抗遗忘驱动成长
持久图空间优化:强化学习驱动的随机动力学方法
变分贝叶斯自适应卡尔曼滤波:原理、MATLAB实现与工程实践
焊材追溯系统如何实施:QMS、SRM与批次放行记录设计

今日推荐

2026学术工具专业测评|Paperxie全维度性能实测报告[特殊字符]
凭什么稳居论文工具顶流[特殊字符]Paperxie综合实力深度全解析
2026论文工具深度测评|为什么Paperxie是目前最稳的学术工具✅

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

移动端 rem 适配方案(移动端浏览器 + Electron 双端兼容)

发布时间:2026/8/28 6:01:12
移动端 rem 适配方案(移动端浏览器 + Electron 双端兼容) 一、背景说明项目为一套代码多端运行同时部署H5 移动端浏览器、Electron 桌面客户端设计稿基准宽度375px采用postcss‑pxtorem将代码内px单位自动转换为rem实现屏幕自适应二、依赖安装# rem转换插件 npm install postcss-pxtorem # ts类型声明开发依赖 npm install -D types/postcss-pxtorem三、公共配置该配置在移动端、Electron 端都会执行 px→rem 转换转换规则统一环境区分交给前端JS代码控制。在移动端vite配置文件中配置css: { postcss: { plugins: [ postCssPxToRem({ rootValue: 37.5, // 设计稿宽度 / 10 375 / 10 propList: [*], // 所有属性px转rem }) ] } }⚠️注意如果只是移动端只设置这部分就可以实现适配electron双端还需要进行格外的配置。1、移动端浏览器环境配合 JS 动态设置根字号后1rem跟随屏幕宽度变化rootValue:37.5代表设计稿 375 宽下1rem 37.5px换算正常页面适配正常。2、Electron 渲染进程环境Electron 默认根字号固定为16px。 例CSS 写font‑size:16px→ 插件转换后0.4267rem实际渲染字号 0.4267 * 16 6.83px字体、元素尺寸整体缩小出现适配异常。四、Vite 构建配置区分electron双端环境变量Electron 端配置vite.electron.config.tspreload: { define: { IS_MOBILE: JSON.stringify(false) } },移动端 H5 配置vite.mobile.config.tspreload: { define: { IS_MOBILE: JSON.stringify(true) } },IS_MOBILE为编译期全局常量用于代码运行时判断当前运行平台。五、预加载脚本 preload 注入全局环境标识文件路径preload/index.tsconst appInfo { isMobile: IS_MOBILE }; if (process.contextIsolated) { try { contextBridge.exposeInMainWorld(appInfo, appInfo); } catch (error) { console.error(error); } } else { // ts-ignore (define in dts) window.appInfo appInfo; }六、平台导出封装Electron 平台文件platform/electron/index.ts/**应用环境信息 */ export const appInfo window.appInfo;H5 移动端平台文件platform/jsbridge/index.tsexport const appInfo { isMobile: IS_MOBILE };七、根字号自适应核心代码App.vue 入口仅移动端浏览器执行 rem 根字号计算Electron 桌面端跳过使用默认根字号script setup langts import { appInfo } from platform; /** * 设置html根字体大小实现rem自适应 * 设计稿基准宽度375px */ function setRootFontSize() { const designWidth 375; const fontSize (window.innerWidth / designWidth) * 37.5; document.documentElement.style.fontSize fontSize px; } // 判断为移动端H5环境开启rem适配 if (appInfo.isMobile) { setRootFontSize(); window.addEventListener(resize, setRootFontSize); } /script

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号