收款定制开发可视化大屏的几种适配方案

收款定制开发对于项目而言,收款定制开发我们主要需要考虑下面两个问题:

        首先是div收款定制开发元素的适配,收款定制开发需要保持每个div收款定制开发元素在不同分辨率的屏幕下依然会显示正常的比例,不会因为不同分辨率的屏幕而变得拉伸变形;

        第二个要考虑的因素是字体,通常情况下我们会吧字体设置为px,但在大屏项目中并不适用,会出现不协调的问题。

解决方案:

一、css3 transform:scale()方法

        在项目中直接使用设计稿中px单位进行开发即可,会对body内所有元素进行缩放,从而不会让echarts图表超出画布;

        需要注意的是,绑定resize事件一定别忘了防抖,页面销毁别忘了移除

        我们直接使用时如果显示屏幕并不是16:9,那么我们的项目就可能会出现空白,解决方案如下:

  1. function resize() {
  2. var ratioX = $(window).width() / 1920; //此处的宽高根据自己屏幕的比例修改即可
  3. var ratioY = $(window).height() / 1080;
  4. $("body").css({
  5. transform: "scale(" + ratioX + "," + ratioY + ")",
  6. transformOrigin: "left top",
  7. backgroundSize: "100% 100%"
  8. });
  9. $("html").css({'overflow':'hidden'})
  10. }

  参考推荐:

           

           

二、rem+grid(或百分比)

        当页面首次加载时,判断视口的宽高,如果视口的宽/高 > 16/9 则说明视口宽度比较设计图宽,实际的显示宽度应该等于视口的高度*16/9。

        如果视口的宽/高 < 16/9 则说明视口高度比设计图高,实际的显示宽度应该等于视口的宽度,显示高度应等于视口宽度 / (16/9)。

        然后设置 font-size: pageWidth / 100 px,这样就可以做到100rem等于100% width,之后所有大小的设置都通过rem来做,这样就可以做到适配任意比例的大屏了。

  1. <script>
  2. const clientWidth = document.documentElement.clientWidth
  3. const clientHeight = document.documentElement.clientHeight
  4. window.pageWidth = clientWidth / clientHeight > 16 / 9 ? clientHeight * (16 / 9) : clientWidth
  5. const pageHeight = pageWidth / (16 / 9)
  6. const string = `<style>html{
  7. font-size: ${pageWidth / 100}px
  8. }</style>`
  9. document.write(string)
  10. root.style.width = pageWidth + 'px'
  11. root.style.height = pageHeight + 'px'
  12. root.style.marginTop = (clientHeight - pageHeight) / 2 + 'px'
  13. </script>

参考链接:

三、vw和vh适配方案

       屏幕视口宽度 = 100vw,屏幕视口高度 = 100vh

       vw和vh也是css中标准的单位,和px,rem, %一样 vw和vh适配方案,按照设计稿的尺寸,将px按比例计算转为vwvh

       那么我们需要封装一个处理函数,让它帮我自动计算,这里我用到了scss

  1. //使用scss的math函数,https://sass-lang.com/documentation/breaking-changes/slash-div
  2. @use "sass:math";
  3. //默认设计稿的宽度
  4. $designWidth:1920;
  5. //默认设计稿的高度
  6. $designHeight:1080;
  7. //px转为vw的函数
  8. @function vw($px) {
  9. @return math.div($px , $designWidth) * 100vw;
  10. }
  11. //px转为vh的函数
  12. @function vh($px) {
  13. @return math.div($px , $designHeight) * 100vh;

参考链接:

四、其他资源网站

在这里给大家推荐一下一些大屏可视化可能用到的资源网站:

1、Vue 大屏数据展示组件库:

2、地图工具:

3、花里胡哨的echarts进阶图:

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发