【前端大屏实战1】Vue+Echarts -- 大屏简介初体验 => 大屏自适应缩放解决方案 => 使用transform:scale => 组件化抽离ScaleBox=>【两分钟实现大屏宽高等比例】

11 篇文章 5 订阅
订阅专栏

如果累了就冬眠吧,如果睡不着,就接纳暂时的失眠,不强迫自己入睡。

目录

一、大屏简介

1.数据可视化

2.大屏用途

3.大屏效果展示

 二、大屏需求分类

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

2.系统使用的“驾驶舱”页面

 三、大屏自适应

1.前端自适应解决方案

(1)使用felx布局

(2)使用rem单位

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

四、实战开始【速看!重点】

1.创建一个组件SacleBox

2.引用组件

3.用ScaleBox组件包裹整个页面

4.码自己页面


一、大屏简介

1.数据可视化

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

一般可视化需求有:通用报表、移动端图表、大屏可视化、地理可视化、图编辑、图分析。

2.大屏用途

不少甲方都想做酷炫的大屏,用于公司展厅、日常经营监控,还有些特殊行业如交通、运输、工厂制造。

目前常用的几款图表库有HighchartsEchartsamCharts等等。后面博主 主要使用Echarts展开讲解

 参考链接: https://www.csdn.net/tags/NtDaAg1sNTI4MDUtYmxvZwO0O0OO0O0O.html

3.大屏效果展示

大屏典范: 电商618数据大屏

 二、大屏需求分类

博主近三个月接触到了两种大屏。

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

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

2.系统使用的“驾驶舱”页面

之所以叫驾驶舱就是因为他看起来很像,有很多面板数据,并且很有可能有相关操作触发变化。

一般用于系统的首页,帮助用户了解数据的变化,总览系统功能,并能快速链接到功能页面。这种在系统里面的大屏,潜在含义就是需要适应任何分辨率的电脑,因此需要做大屏的自适应。

效果如图:

可以根据页面大小缩放调整宽高,始终保持原始比例,并且画质清除,保证在任何屏幕上都能够展示完全。

 三、大屏宽高等比例适应

1.前端自适应解决方案

(1)使用felx布局

要点:使用flex各种布局,结合元素使用百分比

使用场景:H5页面、简单后台业务系统页面

大神笔记: Flex 布局教程:语法篇 - 阮一峰的网络日志

(2)使用rem单位

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

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

大屏使用rem 耗时 而且对浏览器最小字体不支持,

使用transform:scale可以节省百分之九十工作量

好处不多说:看一篇文章 学习一下 咱们再来实战!

谈谈关于CSS中transform属性之scale - 热爱前端知识 - 博客园

CSS3 transform-origin 属性 | 菜鸟教程

四、实战开始【速看!重点】

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组件包裹整个页面

 4.码自己页面

注意:

(1)使用px做单位,不使用rem

(2)ScaleBox内部页面元素最大的盒子按照1920*1080为容器 严格计算。所有宽高加起来为1920*1080

(3)最好不要使用百分比分配宽高

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

大家有问题欢迎及时反馈


6月7日更新:

多数友友反应做出来的效果在非全屏下左右两边会存在一定的空白。这里要解释一下,当前案例的实现效果就是如此,在非全屏情况下,由于导航栏存在,页面的真实高度已经不是1080了,这是宽度自然会变小。

 总结:

使用ScaleBox的优点:

1.保证页面宽高在任何情况下等比例缩放

2.页面性能最优且代码简洁

Vue2 - 完美解决在项目中页面布局实现自适应屏幕大小的解决方案
前端充电宝
04-13 722
Vue2 - 完美解决在项目中页面布局实现自适应屏幕大小的解决方案
大屏可视模板】vue-dataV-echarts-elementul大屏数据可视化方案,屏幕适配方案等比例缩放
04-08
用了vue - echarts - datav-elementul大屏数据可视化方案,包含屏幕适配方案等比例缩放, 等比例缩放的屏幕适配方法。可以让你不需要大量使用百分比或者转换之类的方法去写屏幕自适应大小,而是可以用部分px直接写css定死,通过屏幕大小改变对应等比例缩放,达到屏幕适配效果 为了让大家直观的看到所有的代码,所以结构方法等就不分各个组件引入了,会很麻烦要找哪是哪,我直接把所有的图都写在了一个vue组件内。并配上注释,相信大家可以很容易找到哪里对应哪里区域
VUE3如何使得大屏自适应的几种方法?
weixin_42711805的博客
10-11 8500
16:9。
Vue大屏自适应终极解决方案
最新发布
ZXH0122的博客
11-30 2365
我们常用图表来做数据统计,数据展示,数据可视化等比较直观的方式来达到一目了然的数据查看,但在大屏开发过程中,常会因为适配不同屏幕而感到困扰,下面我们使用v-scale-screen来解决一下这个难题。
前端大屏适配几种方案
Liushiliu104的博客
03-06 2万+
前端大屏适配方案
前端实现自适应屏幕数据可视化大屏vue + v-scale-screen组件 + dataV组件
YangJing17的博客
08-31 5078
众所周知, 未来的数据可视化趋势已成为了必然性,越来越多的企业、政府等的应用场景应用都会普及 ,销售、教育、医疗、贸易等行业领域也涉及广泛 ,根据实时的监控数据,把最新的数据展现在大屏幕上,清楚地看到自己想要看到的数据,同时根据这些数据做出决策的调整。数据可视化是指通过图表、图形、地图等视觉要素来表现数据中包含的信息的倾向、异常和模式。简而言之,数据可视化是用图形表达数据和信息。
Vue3 +Echarts5 可视大屏——屏幕适配
z止于至善的博客
07-11 2821
项目基于Vue3 + Echarts5 开发,屏幕适配是使用scale方案Echarts组件按需引入,减少打包体积地图组件封装(全国&省份地图按需加载)
前端大屏常用的适配方案
趟过java,遇见web
08-16 1573
假设我们正在开发一个可视拖拽的搭建平台,可以拖拽生成工作台或可视大屏,或者直接就是开发一个大屏,首先必须要考虑的一个问题就是页面如何适应屏幕,因为我们在搭建或开发时一般都会基于一个固定的高,但是实际的屏幕可能大小不一,接下来我们就尝试几种简单且常见的方案,并简单分析一下利弊。这个是最简单的方案了,相当于不适配屏幕,画布配置了多大实际就是多大,不随屏幕的变而变,所以各个组件高也是在配置后不会改变,一般用于尺寸固定且后期不会改变的可视大屏
基于vue/react/js+echarts数据可视化大屏开发模板源码(25套)
web小袋鼠
01-14 2703
下载链接 https://download.csdn.net/download/qq_36710522/14147525
Vue+Echarts监控大屏实例九:智慧园区监控模板实例
05-21
Vue+Echarts监控大屏实例九:智慧园区监控模板实例,包括源码,开发文档、素材等。 使用vue-echarts实现监控大屏搭建,开发,实现对于监控界面的相关开发资料,提供实例源码、开发过程视频及实现过程。 高德地图并...
js数据可视化驾驶舱20套源码
04-28
js数据可视化驾驶舱20套源码
数据可视化驾驶舱静态页面(13套).rar
04-01
数据可视化驾驶舱静态页面(13套).rar
big_screen:数据大屏可视
03-16
大屏幕 数据大屏可视 功能 便利性工具,结构简单,直接传数据就可以实现数据大屏 安装 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple flask 运行 cd big_screen; python app.py; 大数据可视化展板通用模板 4600万企业数据大屏可视 (2020-09)厦门10万招聘数据大屏可视 示例 使用 1,编辑data.py中的SourceData类(或者添加类,补充的话需要编辑app.py增加路由,请参考CorpData / JobData) 2,从任何地方读取你的数据,按照SourceDataDemo的数据格式,填充到SourceData类 3,运行python app.py查看数据变更后的效果 参考
大屏展示设计图,驾驶舱页面设计
03-05
大屏展示设计图,驾驶舱页面设计,PSD分层图片处理。
Vue+Echarts监控大屏实例十:智慧养老监控模板实例
05-30
Vue+Echarts监控大屏实例十:智慧养老监控模板实例,包括源码,开发文档、素材等。 使用vue-echarts实现监控大屏搭建,开发,实现对于监控界面的相关开发资料,提供实例源码、开发过程视频及实现过程。 高德地图并...
Vue+Echarts监控大屏实例四:智慧农业监控模板实例
04-11
Vue+Echarts监控大屏实例四:智慧农业监控模板实例,包括源码,开发文档、素材等。 使用vue-echarts实现监控大屏搭建,开发,实现对于监控界面的相关开发资料,提供实例源码、开发过程视频及实现过程。 高德地图并...
Big-Screen-Vue-Datav-Echarts:政务大屏-前端(VUE+DataV+Echarts)
05-11
一个基于 vue、datav、Echart 框架的 " 数据大屏项目 ",通过 vue 组件实现数据动态刷新渲染,内部图表可实现自由替换。部分图表使用 DataV 自带组件,可进行更改,详情请点击下方 DataV 文档。 项目需要全屏展示...
超炫150套❤vue+Echarts大屏可视数据平台实战项目分享 (附源码)
热门推荐
七夕情人节表白网页代码100款 HTML5网页设计与制作1120款 Echarts大屏数据150款
06-15 4万+
web 大数据可视化 使用的是echarts图表库,ECharts , DataV数据可视化, 大屏可视, 大屏适配, 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。 DataV数据可视化旨让更多的人看到数据可视化的魅力,帮助非专业的工程师通过图形的界面轻松搭建专业水准的可视应用,满足您会议展览、业务监.
vue数据可视化大屏vue系统融合
09-13
Vue数据可视化大屏Vue系统融合可以通过在Vue系统中引入Vue数据可视化大屏组件实现。 首先,你可以将Vue数据可视化大屏的项目源码下载到本地,并安装相应的依赖。然后,将Vue数据可视化大屏组件文件(.vue或.tsx)复制到你的Vue系统项目中的相应目录下。 接下来,在你的Vue系统中,可以使用Vue组件引入语法,将Vue数据可视化大屏组件引入到你的系统中。你可以根据需要将其放置在系统的某个页面或组件中。 然后,你可以在系统的页面或组件使用Vue数据可视化大屏组件,根据需要传递相应的数据给该组件。你可以根据Vue数据可视化大屏组件的文档或示例代码来了解如何使用组件,并根据实际情况进行配置和调整。 最后,你可以在运行Vue系统的预览模式下,查看系统中融合了Vue数据可视化大屏的效果。你可以根据需要调整和优系统的其他功能和界面,以实现更好的用户体验和数据可视化效果。 总结起来,通过将Vue数据可视化大屏组件引入到Vue系统中,并在需要的地方使用组件,可以实现Vue数据可视化大屏Vue系统的融合。这样可以为你的系统提供更丰富的数据可视化功能,增强用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 【Vue项目搭建】修改【若依框架】的侧边栏、导航栏、面包屑样式、修改全局页面样式 70299
  • 【ElementUI样式优化1】el-table 修改斑马格样式、修改滚动条样式、添加表头边框、删除表格边框划线 28199
  • vivo公司商业模型分析 - SWOT模型/ 麦肯锡7S模型 /波特五力分析模型 20812
  • 【Vue入门实践】Element-UI 树形组件el-tree的组件封装 =>实现组织机构树Tree => 使用vue-content-menu定制可编辑树结构editableTree 18232
  • 【ElementUI优化】el-table展开行 ==> :expand-row-keys=“expands“ 刷新表格,保存当前操作展开行 17599

分类专栏

  • 宇宙尽头是考编 1篇
  • elementUI组件优化 14篇
  • Vue+Koa搭建管理系统【前端+后端】 9篇
  • 手把手带你跑若依框架【纯前端】 1篇
  • 饿了么Vue项目总结 7篇
  • Vue项目实战 11篇
  • 前端工作日记随笔 21篇
  • 面试 12篇

最新评论

  • 【Vue项目搭建】修改【若依框架】的侧边栏、导航栏、面包屑样式、修改全局页面样式

    weixin_52144177: 大佬,可以也发我一份吗

  • 【Vue项目搭建】修改【若依框架】的侧边栏、导航栏、面包屑样式、修改全局页面样式

    Tifa_blosser: float: right; 替换为margin-left: 91vw;亲测可以表情包

  • 【Vue项目搭建】修改【若依框架】的侧边栏、导航栏、面包屑样式、修改全局页面样式

    Tifa_blosser: 面包屑和hamburger在同一行,建议把下方.right-menu中的 “float: right; ” 注释掉,因为这东西导致它俩在同一行浮动排列,然后自己慢慢调整下就行。

  • 【Vue项目搭建】修改【若依框架】的侧边栏、导航栏、面包屑样式、修改全局页面样式

    Tifa_blosser: 求指导表情包

  • 【Vue项目搭建】修改【若依框架】的侧边栏、导航栏、面包屑样式、修改全局页面样式

    Tifa_blosser: 解决了没呀

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 麒麟操作系统自学1-麒麟操作系统概述
  • 【事业单位笔试】zrzyb信息中心-社会招聘-笔试记录
  • 【Vue + Koa 前后端分离项目实战9】使用开源框架==>快速搭建后台管理系统 -- part9 项目总结
2023年5篇
2022年32篇
2021年17篇
2020年155篇
2019年3篇

目录

目录

评论 41
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白Rachel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司塘坑百度竞价推荐西乡营销网站价格安康seo公司临猗企业网站设计推荐潮州网站优化软件黄南设计公司网站多少钱昌都SEO按天扣费报价保山网站seo优化报价潮州网站推广系统多少钱黑河企业网站设计推荐宜宾百度标王价格长沙seo排名报价资阳网站关键词优化价格甘南如何制作网站青岛SEO按效果付费多少钱聊城网络推广郴州模板制作价格平凉网站优化按天计费邯郸网站关键词优化多少钱淮南百度网站优化排名哪家好布吉网站优化软件多少钱哈尔滨模板制作公司开封至尊标王哪家好百姓网标王推荐贵阳百度网站优化公司安阳SEO按天扣费推荐宜春SEO按天计费报价临沧网站建设哪家好盘锦网站优化推广哪家好大浪网络推广推荐歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化