Html5大屏数据可视化开发的实现


Posted in HTML / CSS onJune 11, 2021

项目中需要做一个数据展示用的看板,初接到任务觉得这个没有什么难度,做个漂亮的网页浏览器全屏就可以了。可是实际做的过程中碰见了问题。

第一:浏览器不能有横向和纵向的滚动条,没有鼠标的滚动操作过程。

第二:有各类尺寸的屏,除了在九宫格拼接屏上完美显示,还要同时满足普通用户的电脑端显示。电脑的客户分辨率可能是1399*768或1920*1080等各类尺寸的分辨率。

利用传统网页制作从上到小的制作方式已经不能满足需求了。例如:

下面的对比图:一个是1902*1080 ,一个是1366*768的屏幕,很明显高分辨率的屏显示的内容多些。

Html5大屏数据可视化开发的实现

那么如何做到大屏上内容动态调整适合屏幕展示呢?

响应式媒体查询、rem,js控制尺寸还是其他方法呢?最开始觉得响应式媒体查询就可以满足我的需求,的确是可以精细化控制,可是时间有限,容不得我花费较长时间,而且写多套尺寸的css 我觉得工作量不少,界面元素一多,要照顾的地方也非常多。js控制也尝试过,不适合,要resize调整的项目多。总之,纠结了半天。

后来买了一个基础版的DataV,做了开发,但DataV的可编程型不高,要多花费银子买企业版!最后问题还是回归到要H5制作大屏的需求上来。DataV的适屏做的很好,何不借鉴下呢,F12查看源码,看到了body 的scale css属性,大概就明白了做法,于是乎开工做。原理就是用一个基础尺寸比如1920*1080来做开发和布局,最后利用客户端浏览器的尺寸,按一定的计算比例做缩放。

关键的代码片段:

var ratio = $(window).height() / 1080;
        console.log(ratio);
        $('body').css({
            transform: "scale(" + ratio + ")",
            transformOrigin: "left top",
            backgroundSize: 100 * (window.screen.width / $(window).width() * ratio) + "%" + ' 100%',
            backgroundPosition: ($(window).width() - $('body').width() * ratio) / 2 + "px top",
            marginLeft: ($(window).width() - $('body').width() * ratio) / 2
        });

利用这个原理顺利完成了大屏的开发:效果还不错,暂时没有碰见坑!

效果如下:把浏览器缩到最小:

Html5大屏数据可视化开发的实现

全屏情况下:

Html5大屏数据可视化开发的实现

到此这篇关于Html5大屏数据可视化开发的实现的文章就介绍到这了,更多相关Html5数据可视化内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
纯CSS实现的大小渐变、渐远效果
Apr 15 HTML / CSS
实例教程 纯CSS3打造非常炫的加载动画效果
Nov 05 HTML / CSS
CSS3 flex布局之快速实现BorderLayout布局
Dec 03 HTML / CSS
利用纯CSS3实现tab选项卡切换示例代码
Sep 21 HTML / CSS
HTML5之SVG 2D入门11—用户交互性(动画)介绍及应用
Jan 30 HTML / CSS
整理HTML5中支持的URL编码与字符编码
Feb 23 HTML / CSS
解析HTML5中的新功能本地存储localStorage
Mar 01 HTML / CSS
HTML5 画布canvas使用方法
Mar 18 HTML / CSS
canvas裁剪clip()函数的具体使用
Mar 01 HTML / CSS
HTML5 input新增type属性color颜色拾取器的实例代码
Aug 27 HTML / CSS
原生canvas制作画图小工具的踩坑和爬坑
Jun 09 HTML / CSS
浅析HTML5 Landmark
Sep 11 HTML / CSS
关于html选择框创建占位符的问题
Jun 09 #HTML / CSS
html实现弹窗的实例
Jun 09 #HTML / CSS
html css3不拉伸图片显示效果
html2 canvas svg不能识别的解决方案
Jun 03 #HTML / CSS
HTML+CSS 实现顶部导航栏菜单制作
Jun 03 #HTML / CSS
CSS极坐标的实例代码
css height属性中的calc方法详解
Jun 03 #HTML / CSS
You might like
深入PHP与浏览器缓存的分析
2013/06/03 PHP
使用PHP求两个文件的相对路径
2013/06/20 PHP
8个PHP数组面试题
2015/06/23 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
用javascript将数据库中的TEXT类型数据动态赋值到TEXTAREA中
2007/04/20 Javascript
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
javascript &&和||运算法的另类使用技巧
2009/11/28 Javascript
改写一个简单的菜单 弹性大小
2010/12/02 Javascript
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
2011/10/31 Javascript
基于jQuery的简单九宫格实现代码
2012/08/09 Javascript
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
JavaScript自动设置IFrame高度的小例子
2013/06/08 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
详解jquery uploadify 上传文件
2013/11/09 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
简单谈谈javascript代码复用模式
2015/01/28 Javascript
js实现点击文本框显示日期选择器特效代码分享
2020/05/21 Javascript
webpack4之SplitChunksPlugin使用指南
2018/06/12 Javascript
elementUI中Table表格问题的解决方法
2018/12/04 Javascript
解决 window.onload 被覆盖的问题方法
2020/01/14 Javascript
Python 文件操作实现代码
2009/10/07 Python
django实现同一个ip十分钟内只能注册一次的实例
2017/11/03 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
2018/10/22 Python
python识别文字(基于tesseract)代码实例
2019/08/24 Python
Python tkinter三种布局实例详解
2020/01/06 Python
django 装饰器 检测登录状态操作
2020/07/02 Python
python集合能干吗
2020/07/19 Python
大学生的创业计划书就该这么写
2014/01/30 职场文书
诚信承诺书范文
2014/03/27 职场文书
寒假家长评语大全
2014/04/16 职场文书
村长党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
群众路线剖析材料(四风问题)
2014/10/08 职场文书
2015年汽车销售工作总结
2015/04/07 职场文书
MySQL8.0升级的踩坑历险记
2021/11/01 MySQL
Docker 镜像介绍以及commit相关操作
2022/04/13 Servers