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 相关文章推荐
Web前端绘制0.5像素的几种方法
Aug 11 HTML / CSS
CSS3五个技巧给你的网站带来出色的效果
Apr 02 HTML / CSS
基于CSS3特效之动画:animation的应用
May 09 HTML / CSS
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
Sep 02 HTML / CSS
CSS3制作苹果风格键盘特效
Feb 26 HTML / CSS
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
Dec 30 HTML / CSS
使用css3 属性如何丰富图片样式(圆角 阴影 渐变)
Nov 22 HTML / CSS
浅谈HTML5 & CSS3的新交互特性
Jul 19 HTML / CSS
HTML5 input新增type属性color颜色拾取器的实例代码
Aug 27 HTML / CSS
详解h5页面在不同ios设备上的问题总结
Mar 01 HTML / CSS
CSS几步实现赛博朋克2077风格视觉效果
Jun 16 HTML / CSS
Html5同时支持多端sdk的小技巧
Nov 17 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中cookie实现二级域名可访问操作的方法
2014/11/11 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
jquery插件之easing 动态菜单
2010/08/21 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
Javascript合并表格中具有相同内容单元格示例
2013/08/11 Javascript
jQuery老黄历完整实现方法
2015/01/16 Javascript
JS+CSS实现带小三角指引的滑动门效果
2015/09/22 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
2015/11/21 Javascript
JavaScript中的操作符类型转换示例总结
2016/05/30 Javascript
微信小程序表单验证功能完整实例
2017/12/01 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
2019/04/04 Javascript
解决使用layui对select append元素无效或者未及时更新的问题
2019/09/18 Javascript
JS 遍历 json 和 JQuery 遍历json操作完整示例
2019/11/11 jQuery
解决vue 使用axios.all()方法发起多个请求控制台报错的问题
2020/11/09 Javascript
python实现倒计时的示例
2014/02/14 Python
python实现从ftp服务器下载文件的方法
2015/04/30 Python
python中私有函数调用方法解密
2016/04/29 Python
Python编程之变量赋值操作实例分析
2017/07/24 Python
Python使用itchat 功能分析微信好友性别和位置
2019/08/05 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
2020/02/14 Python
Spark处理数据排序问题如何避免OOM
2020/05/21 Python
详解python中的异常和文件读写
2021/01/03 Python
详解css3 object-fit属性
2018/07/27 HTML / CSS
HTML5 SEO优化的一些建议
2020/08/27 HTML / CSS
L*SPACE官网:比基尼、泳装和度假服装
2019/03/18 全球购物
英国顶级水晶珠宝零售商之一:Tresor Paris
2019/04/27 全球购物
Linux开机引导的步骤是什么
2014/02/26 面试题
捐款活动总结
2014/08/27 职场文书
解除劳动关系协议书范文
2014/09/11 职场文书
2014年初级职称工作总结
2014/12/08 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
护士求职自荐信范文
2015/03/04 职场文书
在人间读书笔记
2015/06/30 职场文书
为什么说餐饮很难做,是因为你不了解这些新规则
2019/08/20 职场文书
SQL IDENTITY_INSERT作用案例详解
2021/08/23 MySQL