一种简单粗暴的大屏自适应方案,原理及案例

现状

现在最流行的大屏自适应手法: scale缩放
为了解决2d/3d的点击交互问题,通常设计成了2个层容器。图表层和2d/3d层。图表层负责缩放,2d/3d层保持100%显示,避免缩放引起的交互事件event问题。

下图是一个1920*1080的大屏示意图

使用常规的缩放方法,让大屏在窗口内最大化显示。大屏在不同的窗口中出现了空白区域,并没有充满整个屏幕。

新的方法

在缩放的基础上,对指定的要素进行贴边处理。还是这张设计图,我们希望上下吸附到窗口最上面和最下面。左右图表吸附到窗口的最左边和最右边。

这里面需要简单的计算,其中a是图表层 scale属性

js 复制代码
var halftop = (window.innerHeight- (1080*a.scaleY))/2/a.scaleY;
var halfleft = (window.innerWidth- (1920*a.scaleX))/2/a.scaleX; 

对指定id的容器,在resize事件中设置上下左右浮动。如下图

实战项目效果

注,下面图片中的数据指标、城市名、姓名、图像均为虚拟数据。

在实际应用中,一般1920*1080设计稿已宽屏为主,如果是竖屏大屏(下图5),需要设计竖屏UI。

你也可以下载该项目demo, 对窗口进行缩放查看效果 pan.baidu.com/s/1hE_C9x9i...

相关推荐
圣光SG9 小时前
Java类与对象及面向对象基础核心详细笔记
java·前端·数据库
Jinuss9 小时前
源码分析之React中的useImperativeHandle
开发语言·前端·javascript
ZC跨境爬虫10 小时前
CSS核心知识点与定位实战全解析(结合Playwright爬虫案例)
前端·css·爬虫
Jinuss10 小时前
源码分析之React中的forwardRef解读
前端·javascript·react.js
mengsi5510 小时前
Antigravity IDE 在浏览器上 verify 成功但本地 IDE 没反应 “开启Tun依然无济于事” —— 解决方案
前端·ide·chrome·antigravity
Можно10 小时前
pages.json 和 manifest.json 有什么作用?uni-app 核心配置文件详解
前端·小程序·uni-app
hzhsec10 小时前
钓鱼邮件分析与排查
服务器·前端·安全·web安全·钓鱼邮件
#做一个清醒的人10 小时前
Electron 保活方案:用子进程彻底解决原生插件崩溃问题
前端·electron·node.js
四千岁10 小时前
Obsidian + jsDelivr + PicGo = 免费无限图床:一键上传,全平台粘贴即发
前端·程序员·github