首页 > 分享 > Vue+Echarts 大屏自适应缩放解决方案 = 使用transform:scale

Vue+Echarts 大屏自适应缩放解决方案 = 使用transform:scale

Vue+Echarts 大屏自适应缩放解决方案 = 使用transform:scale

32022.06.14 18:04:09字数 698阅读 11,612

数据可视化

将数据通过各种视觉通道映射成图形,可以使得用户更快、更准确的理解数据。

大屏用途

用于公司展厅、日常经营监控,还有些特殊行业如交通、运输、工厂制造。

大屏效果展示

image.png

1.固定尺寸的“真实”大屏

一般使用在企业的巨大的显示器上 用来展示、监测数据情况,一般是不需要频繁操作的。这种只在固定大的屏幕上的大屏,完全可以不使用自适应方案。

2.大屏宽高等比例适应

(1)使用felx布局

要点:使用flex各种布局,结合元素使用百分比
使用场景:H5页面、简单后台业务系统页面
大神笔记

(2)使用rem单位

参考链接:前端自适应实现方法前端学习笔记-DS的博客-CSDN博客前端自适应

3.大屏自适应最优解决方案 ==> transform:scale

大屏使用rem 耗时 而且对浏览器最小字体不支持,
使用transform:scale可以节省百分之九十工作量
好处不多说:看一篇文章 学习一下 咱们再来实战!

谈谈关于CSS中transform属性之scale - 热爱前端知识 - 博客园
CSS3 transform-origin 属性 | 菜鸟教程

4.实战开始【速看!重点】

(1)创建一个组件SacleBox

<template> <div class="ScaleBox" ref="ScaleBox" :style="{ width: width + 'px', height: height + 'px', }" > <slot></slot> </div> </template> <script> export default { name: "ScaleBox", props: {}, data() { return { scale: 0, width: 1920, height: 1080, }; }, mounted() { this.setScale(); window.addEventListener("resize", this.debounce(this.setScale)); }, methods: { getScale() { // 固定好16:9的宽高比,计算出最合适的缩放比 const { width, height } = this; const wh = window.innerHeight / height; const ww = window.innerWidth / width; console.log(ww < wh ? ww : wh); return ww < wh ? ww : wh; }, setScale() { // 获取到缩放比例,设置它 this.scale = this.getScale(); if (this.$refs.ScaleBox) { this.$refs.ScaleBox.style.setProperty("--scale", this.scale); } }, debounce(fn, delay) { const delays = delay || 500; let timer; return function () { const th = this; const args = arguments; if (timer) { clearTimeout(timer); } timer = setTimeout(function () { timer = null; fn.apply(th, args); }, delays); }; }, }, }; </script> <style lang="scss"> #ScaleBox { --scale: 1; } .ScaleBox { position: absolute; transform: scale(var(--scale)) translate(-50%, -50%); display: flex; flex-direction: column; transform-origin: 0 0; left: 50%; top: 50%; transition: 0.3s; z-index: 999; // background: rgba(255, 0, 0, 0.3); } </style>

(2)引用组件

import ScaleBox from "../../components/ScaleBox/index.vue"; export default { name: "bigScreen", components: { ScaleBox, }, data() { return { // -- } }

(3)用ScaleBox组件包裹整个页面

image.png

(4)码自己页面

注意:
(1)使用px做单位,不使用rem
(2)ScaleBox内部页面元素最大的盒子按照19201080为容器 严格计算。所有宽高加起来为19201080
(3)最好不要使用百分比分配宽高

image.png

至此可以完成大屏自适应了,组件化之后也更好用,前期可以直接单独写页面,最后再加上ScaleBox即可,是非常方便简洁的方法。

缺点:
经实际使用,发现问题存在非全屏下左右两边会存在一定的空白。在非全屏情况下,由于导航栏存在,页面的真实高度已经不是1080了,宽度自然会变小。会按基础尺寸强制缩小展示!


1655201171(1).png

优点:
1.保证页面宽高在任何情况下等比例缩放
2.页面性能最优且代码简洁

最后编辑于

:2022.06.14 18:06:23

更多精彩内容,就在简书APP

"小礼物走一走,来简书关注我"

还没有人赞赏,支持一下

序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...

沈念sama阅读 193,021评论 5赞 459

序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...

文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...

文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...

正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...

茶点故事阅读 60,717评论 4赞 354

文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...

那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...

文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...

序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...

正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...

茶点故事阅读 34,421评论 2赞 306

正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...

茶点故事阅读 36,190评论 1赞 323

序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...

正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...

茶点故事阅读 37,447评论 3赞 297

文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...

文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...

我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...

正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...

茶点故事阅读 40,499评论 2赞 335

被以下专题收入,发现更多相似内容

推荐阅读更多精彩内容

1.关于自适应布局的一些基本概念 px (pixel):像素,是屏幕上显示数据的最基本的点,表示相对大小。不同分辨...

姓名:谢艾芳 学号:16040410073 转自http://www.jianshu.com/p/ee200a67...

一年前笔者写了一篇 《手机端页面自适应解决方案—rem布局》,意外受到很多朋友的关注和喜欢。但随着时间的推移,该方...

目前项目采用 Nuxt SSR 来完成服务端渲染 ,为满足 SEO 需求,将非首屏内容也进行了请求和服务端直出,导...

目前项目采用 Nuxt SSR 来完成服务端渲染 ,为满足 SEO 需求,将非首屏内容也进行了请求和服务端直出,导...

相关知识

复合肥要怎么使用养花?(已有7条解决方案)
“道即是美“传统工艺振兴主题展论坛成功举办 坭兴陶首次亮相中华世纪坛
『更新V2』AE脚本:创意复古剪纸拼贴剪纸做旧动画人物植物交通场景包 Collage Kit Constructor(5136)
大屏设计系列之四:大数据可视化设计,故事+数据+设计 =可视化
园林花卉园艺鲜花配送织梦花店模板(自适应)
花店鲜花保鲜柜使用4个月感受
学会正确使用肥料观叶植物爬满花架
基于正余双弦自适应灰狼优化算法的医药物流配送路径规划
(自适应手机端)花店鲜花配送网站模板 花卉园艺送花类网站源码
义结金兰丨“花”式联谊,连城越秀书写兰花“双城记”!

网址: Vue+Echarts 大屏自适应缩放解决方案 = 使用transform:scale https://m.huajiangbk.com/newsview173546.html

所属分类:花卉
上一篇: 生物+成语=牢记知识点
下一篇: 干货 | 生物+成语=牢记知识点