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 相关文章推荐
CSS3 translate导致字体模糊的实例代码
Aug 30 HTML / CSS
玩转CSS3色彩
Jan 16 HTML / CSS
css3实现背景图片拉伸效果像桌面壁纸一样
Aug 19 HTML / CSS
html5+css3之动画在webapp中的应用
Nov 21 HTML / CSS
详解CSS3的box-shadow属性制作边框阴影效果的方法
May 10 HTML / CSS
CSS 3.0 结合video视频实现的创意开幕效果
Jun 01 HTML / CSS
H5 canvas中width、height和style的宽高区别详解
Nov 02 HTML / CSS
详解如何通过H5(浏览器/WebView/其他)唤起本地app
Dec 11 HTML / CSS
html5开发三八女王节表白神器
Mar 07 HTML / CSS
HTML5 3D旋转相册的实现示例
Dec 03 HTML / CSS
html5给汉字加拼音加进度条的实现代码
Apr 07 HTML / CSS
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
Apr 27 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
对淘宝URL中ID提取的PHP代码
2013/09/01 PHP
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
2014/04/08 PHP
php使用cookie显示用户上次访问网站日期的方法
2015/01/26 PHP
php验证邮箱和ip地址最简单方法汇总
2015/10/30 PHP
yii权限控制的方法(三种方法)
2015/12/28 PHP
飞鱼(shqlsl) javascript作品集
2006/12/16 Javascript
Javascript-Mozilla和IE中的一个函数直接量的问题分析
2007/08/12 Javascript
jQuery代码优化之基本事件
2011/11/01 Javascript
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
2011/11/21 Javascript
解决Extjs4中form表单提交后无法进入success函数问题
2013/11/26 Javascript
ExtJS如何设置与获取radio控件的选取状态
2014/01/22 Javascript
基于Bootstrap+jQuery.validate实现表单验证
2016/05/30 Javascript
使用Vue.js创建一个时间跟踪的单页应用
2016/11/28 Javascript
vue项目中使用vue-i18n报错的解决方法
2019/01/13 Javascript
python 默认参数问题的陷阱
2016/02/29 Python
Python 中的range(),以及列表切片方法
2018/07/02 Python
举例讲解Python常用模块
2019/03/08 Python
详解Python爬取并下载《电影天堂》3千多部电影
2019/04/26 Python
python 获取sqlite3数据库的表名和表字段名的实例
2019/07/17 Python
python机器学习包mlxtend的安装和配置详解
2019/08/21 Python
Python 炫技操作之合并字典的七种方法
2020/04/10 Python
英国最大的网上药品商店:Chemist Direct
2017/12/16 全球购物
芝加哥牛排公司:Chicago Steak Company
2018/10/31 全球购物
中文专业毕业生自荐信
2013/10/28 职场文书
运动会广播稿300字
2014/01/10 职场文书
幼儿园庆六一游园活动方案
2014/01/29 职场文书
诉讼财产保全担保书
2014/05/20 职场文书
党员承诺书怎么写
2014/05/20 职场文书
工商行政管理专业求职书
2014/05/23 职场文书
同志主要表现材料
2014/08/21 职场文书
2014年店长工作总结
2014/11/17 职场文书
北京天坛导游词
2015/02/12 职场文书
运动会1000米加油稿
2015/07/21 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书
Go语言-为什么返回值为接口类型,却返回结构体
2021/04/24 Golang
在python中读取和写入CSV文件详情
2022/06/28 Python