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

大屏/门户页面兼容各种分辨率或电脑缩放

需求要求: 需要支持缩放功能(缩放后 页面各元素模块正常展示)、 需要适配各种分辨率(初始加载不应出现横向滚动条)

选择的实现方案

利用 zoom 或者 transform 来缩放兼容页面样式,不动业务模块代码

    const isMobile = /iPhone|iPad|iPod|Android|Harmony/i.test(navigator.userAgent) // 手机端const canUseZoom = !isMobile && !/Firefox|KaiOS|Opera/i.test(navigator.userAgent) // 能使用 zoom 的浏览器this.getScaleListener(canUseZoom)getScaleListener(canUseZoom) {const devicewidth = document.documentElement.clientWidthif (devicewidth === 1920) return // 根据设计稿实际强开来// 如果需要以高度为标准的话可以打开下面注释的// const deviceheight = document.documentElement.clientHeightconst scaleX = devicewidth / 1920// const scaleY = deviceheight / 919// const scale = Math.min(scaleX, scaleY)let scale = +scaleX.toFixed(4)document.body.style.setProperty(`--zoom`, scale)let myStyle = document.createElement('STYLE')myStyle.setAttribute('id', 'myScaleStyle')const minHeight = 100 / scalelet styleTextNode = document.createTextNode(`#app {width: 1920px;margin: 0 auto;box-sizing: border-box;${canUseZoom ? `zoom: var(--zoom)` : `position: absolute;left: 50%;transform: scale(var(--zoom)) translateX(-50%);transform-origin: 0 0;`}}${canUseZoom ? `.el-tooltip__popper, .el-popper {zoom: var(--zoom);}` : `.el-tooltip__popper, .el-popper {transform: scale(var(--zoom));}`}#app {min-height: ${minHeight}vh;}`)myStyle.appendChild(styleTextNode)document.head.appendChild(myStyle)},
http://www.xdnf.cn/news/234145.html

相关文章:

  • C++初阶-string类1
  • 手动实现二叉搜索树
  • AGI时代来临?2030年AI将如何改变人类社会?
  • Spark SQL 之 DAG
  • Linux容器大师:K8s集群部署入门指南
  • 校平机:金属板材加工的核心设备
  • 1295. 统计位数为偶数的数字
  • 大小写问题
  • 5.运输层
  • 解决在Mac上无法使用“ll”命令
  • python与c++变量赋值的区别
  • 【Linux庖丁解牛】—环境变量!
  • 深入解析词嵌入(Word2Vec、GloVe)技术原理:从词语到向量的转变
  • Transformer 模型及深度学习技术应用
  • Langchain+文本摘要-refine
  • Java零基础入门Day3:程序流程控制
  • Flowith:解放思维的AI画布让创意与效率如泉涌
  • 动画震动效果
  • 【Bootstrap V4系列】学习入门教程之 加载必要文件和入门模板
  • javascript 深拷贝和浅拷贝的区别及具体实现方案
  • 【每日八股】复习 Redis Day4:线程模型
  • NLP 分词技术学习
  • 【Dify系列教程重置精品版】第四章:实现Dify的 hello world
  • ISO 26262认证步骤
  • 【Java面试笔记:进阶】30.Java程序运行在Docker等容器环境有哪些新问题?
  • 楼宇智能化三、五章【期末复习】
  • 芯知识|小体积语音芯片方案WTV/WT2003H声音播放ic应用解析
  • 楼宇智能化四章【期末复习】
  • (eNSP)Smart Link配置实验
  • MicroPython for esp32s3开发HX711称重模块指南