可视化大屏适配/自适应现状

news/2024/7/5 9:52:07

可视化大屏适配/自适应现状
三大常用方式

vw/vh方案
概述:按照设计稿的尺寸,将px按比例计算转为vw和vh
优点:可以动态计算图表的宽高,字体等,灵活性较高,当屏幕比例跟 ui 稿不一致时,不会出现两边留白情况
缺点:每个图表都需要单独做字体、间距、位移的适配,比较麻烦

scale方案
概述:也是目前效果最好的一个方案
优点:代码量少,适配简单 、一次处理后不需要在各个图表中再去单独适配.
缺点:留白,据说有事件热区偏移,但是我目前没有发现有这个问题,即使是地图也没有

rem + vw vh方案
概述:这名字一听就麻烦,具体方法为获得 rem 的基准值 ,动态的计算html根元素的font-size ,图表中通过 vw vh 动态计算字体、间距、位移等
优点:布局的自适应代码量少,适配简单
缺点:留白,有时图表需要单独适配字体

clientHeight / scale 就等于我们需要的高度!
我们用代码试一试

function keepFit(designWidth, designHeight, renderDom) {
  let clientHeight = document.documentElement.clientHeight;
  let clientWidth = document.documentElement.clientWidth;
  let scale = 1;
  if (clientWidth / clientHeight < designWidth / designHeight) {
    scale = (clientWidth / designWidth)
    document.querySelector(renderDom).style.height = `${clientHeight / scale}px`;
  } else {
    scale = (clientHeight / designHeight)
    document.querySelector(renderDom).style.width = `${clientWidth / scale}px`;
  }
  document.querySelector(renderDom).style.transform = `scale(${scale})`;
}

上面的代码参数分别是:设计稿的宽高和你要适配的元素,在vue中可以直接传#app。
下面的if判断的是宽度固定还是高度固定,当屏幕宽高比小于设计宽高比时,
我们把高度写成 clientHeight / scale ,宽度也是同理。


http://lihuaxi.xjx100.cn/news/1137276.html

相关文章

Agisoft Metashape 基于影像的外部点云着色

Agisoft Metashape 基于影像的外部点云着色 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Agisoft Metashape 基于影像的外…

Git分支管理策略与发布流程及版本控制

Git是一个分布式版本控制系统&#xff0c;用于跟踪和管理项目的代码变更。它具有高效、灵活、强大的特性&#xff0c;被广泛应用于软件开发领域。 Git的优势&#xff1a; 分布式版本控制&#xff1a;每个开发者都有一个完整的代码仓库&#xff0c;可以在本地进行提交、分支和合…

掌握无缝云迁移方法的数据集成

随着越来越多的组织过渡到基于云的基础架构&#xff0c;数据集成已成为云迁移过程的关键组成部分。数据集成包括将来自不同来源的数据集成到一个整合的视角中。云迁移的上下文涉及将数据从本地系统传输到基于云的平台&#xff0c;同时确保数据的一致性、准确性和可用性。 本文…

港联证券|新能源大金融双主线发力 沪指探低回升收复3300点

周一&#xff0c;A股三大指数呈现宽幅震荡走势。沉寂许久的新能源板块早盘复苏&#xff0c;保险、券商与部分“中字头”股票午后发力&#xff0c;多主线并进带动市场普涨。截至收盘&#xff0c;上证综指报3310.74点&#xff0c;涨1.17%&#xff1b;深证成指报11178.62点&#x…

小程序点击导航栏返回顶部小例子

<view class"headerTop" id"headerTop" click"onNavigationBarTap">顶部导航栏 </view> //样式 width: 100%; position: fixed; background: white; left: 0; z-index: 999;//jslastTapTime: null,//用于记录上一次点击的时间戳scr…

全球范围内的数字化时代,挑战和价值有哪些?

近年来&#xff0c;数字经济的发展趋势越来越明显&#xff0c;尤其是随着疫情的影响&#xff0c;加速了传统产业向数字化、网络化和智能化产业的转型和升级。全球数字经济规模不断扩大&#xff0c;体量连年增长&#xff0c;根据中国信息通信研究院报告显示&#xff0c;2019年全…

第七章 TensorFlow实现卷积神经网络--代码调试

注&#xff1a;实验工具为jupyter,该python环境为3.7并安装了1.14.0版本的tensorflow &#xff0c;这是本人基于最新版的anaconda下新建的环境&#xff0c;至于在头歌环境平台及其他平台并未验证&#xff0c;而我们需要安装和更新包也需要在自己新建的环境命令行下才有效。 //这…

除了OA以外,只用点击按钮就能实现协同办公,靠一个工具就能实现

OA不同时期&#xff0c;不同功能 OA是办公自动化系统&#xff0c;与互联网技术的发展有着密切的联系。 很多办公场景都离不开OA协同系统。OA是办公系统&#xff0c;借助与互联网的交互性&#xff0c;开创出的一种新型的办公方式。 所以&#xff0c;说到OA软件&#xff0c;在不…