当前位置: 首页 > news >正文

rem 适配方案

实现原理

rem 是相对于根元素 HTML 的 font-size 计算的单位,我们可以根据屏幕宽度动态调整根字体大小。

代码 rem.ts

/*** 全局搜索$baseSize 同步更改sass内的$baseSize值  使用px()函数代替px生成rem* 建议设置大小为 80* 1920分辨率下 1rem === 80px*/
const $baseSize = 80;
const scale = ref();
// rem 函数
function setRem() {// 设计稿一般都是以1920*1080// scale.value = Math.min(document.documentElement.clientWidth / 1920, document.documentElement.clientHeight / 1080); // 等比缩放(宽高取小)scale.value = (document.documentElement.clientWidth / 1920 * 0.5 + document.documentElement.clientHeight / 1080 * 0.5); // 权重调整// 设置页面根节点字体大小 Math.min(scale, 2)指最高放大比例为2,可根据实际业务需求调整document.documentElement.style.fontSize = $baseSize * Math.min(scale.value, 4) + 'px';window['_nowScale'] = scale;
};// 调用方法
setRem();// 监听窗口在变化时重新设置跟文件大小
window.onresize = function () {setRem();
};

全局样式文件 mixins.scss

// px转rem
$baseSize: 80; // 根目录字体大小 px
@function px($px) {@return  calc($px / $baseSize * 1rem);
}

组件中使用方法

<template><div id="home"><ul class="card-box"></ul></div>
</template><style lang="scss">
#home{
width:px(100)
height:px(100)
}
</style>
http://www.dtcms.com/a/333205.html

相关文章:

  • [论文阅读] 软件工程工具 | EVOSCAT可视化工具如何重塑软件演化研究
  • Autosar之CanNm模块
  • redis升级版本迁移数据
  • 一个集成多源威胁情报的聚合平台,提供实时威胁情报查询和播报服务、主动拦截威胁IP,集成AI等多项常用安全类工具
  • 非中文语音视频自动生成中文字幕的完整实现方案
  • 另类pdb恢复方式-2
  • RabbitMQ核心架构与应用
  • C++类与对象核心知识点全解析(下)
  • 《Python列表和元组:从入门到花式操作指南》
  • 系统介绍pca主成分分析算法
  • Kubernetes 集群镜像资源管理
  • 区块链:用数学重构信任的数字文明基石
  • clamav病毒检测
  • 【揭秘红黑树:高效数据结构解析】
  • I/O多路复用特性与实现
  • 全球鲜花速递市场:规模扩张、竞争格局与未来趋势解析
  • Python正则表达式处理Unicode字符完全指南:从基础到高级实战
  • Comfyui进入python虚拟环境
  • LangChain 与 LangGraph:如何选择合适的工具
  • RK3588 recovery模式和misc分区介绍
  • Ant-Design AUpload如何显示缩略图;自定义哪些类型的数据可以使用img预览
  • HTTP 请求方法:GET 与 POST
  • 应用层协议——HTTP
  • Jenkins+Python自动化持续集成详细教程
  • 神经网络设计中关于BN归一化(Normalization)的讨论
  • 扣子(Coze),开源了!Dify 天塌了
  • 淡季磨剑,旺季出鞘!外贸管理软件让淡季备货与旺季冲刺无缝衔接
  • Mini MAX AI应用矩阵测评报告——基于旗下多款产品的综合体验与行业价值分析
  • 亚马逊“十省联动”4.0:产业带跨境转型的全维度赋能路径
  • Linux操作系统--多线程(锁、线程同步)