大屏数据可视化——屏幕适配方案(多分辨率下)

本文探讨了大屏数据可视化项目在不同分辨率下的适配问题,包括常见大屏分辨率、设备像素的概念,以及适配痛点。文章详细介绍了rem和px2rem的使用,并提出了两种适配方案:rem自适应缩放和css3的scale方法。通过示例展示了在不同分辨率和缩放比例下的应用效果,提供了一种解决非16:9比例屏幕和宽高比问题的优化方案。
摘要由CSDN通过智能技术生成

文章目录

前言

基于现目前所做数据可视化项目的不同分辨率兼容需求总结以下适配几种方案供参考。 通常而言数字大屏指的是1920*1080分辨率下的电视大屏,用于图表化的展示关键数据,然而项目大部分是在笔记本上运行,演示,测试,所以不得不把小屏笔记本纳入兼容范围。。。

一、一些前提概念

1.1 常见大屏分辨率

  • 1366 * 768 : 普通液晶显示器
  • 1920 * 1080: 高清液晶显示器
  • 2560 * 1440: 2K高清显示器
  • 4096 * 2160: 4K高清显示器
  • 1280 * 720: 笔记本(1920*1080分辨率下系统默认推荐150%缩放比产生的尺寸。。。。)

1.2 设备像素

  • viewport: 视窗=浏览器窗口的宽高
  • 物理像素(设备像素): 屏幕显示分辨率像素,每个像素可以根据操作系统设置自己的颜色 和亮度
  • 设备独立像素(dip):密度无关像素,可以认为是计算机坐标系统中的一个点,可用于区分视网膜设备还是非视网膜设备
  • css像素(DIPs): 主要用在浏览器上,一般情况下,css像素称为与设备无关的像素
  • 屏幕密度: 设备表面上存在的像素数量(PPI)
  • 设备像素比(dpr): 定义了物理像素和设备独立像素的对应关系,设备像素比=物理像素/设备独立像素

二、适配痛点

  1. 设计稿按照1920*1080的分辨率,16:9的比例设计, 实际开发中,document窗口不足16:9(高度减掉顶部tab及导航栏,地址栏等)
  2. 不同分辨率:实际应用场景中,显示场景不同,不能固定写死px单位
  3. 不同比例:不同的显示器宽高比与设计稿不一致
  4. 由于大屏数据可视化项目通常用于放在电视或广告屏上展示用,而不允许出现滚动条

三、关于rem

熟悉移动端的自适应方案的朋友对 rem 适应方案,肯定不陌生,最出名的就是阿里的 手淘lib-flexible 方案。

  • rem (font size of the root element), 是 css3 的引入的一个大小单位。即相对于根元素的 font-size 值的大小。所谓根元素在网页里一般就是 html.

  • 举例如下:

    html{
    font-size:20px;
    }
    test1 {
    width: 1.4rem; //1.4 × 20px = 28px
    }
    test2 {

大屏可视化适配flexible.js是一种通过使用CSS的transform属性来实现大屏适配的方法。其主要思路是通过计算固定的宽高比例,将大屏幕容器设置为一个参考元素,然后监听浏览器窗口的resize事件,在每次窗口大小改变后重新计算宽度和高度的比例。根据窗口的长宽比与固定的长宽比进行比较,如果窗口的长宽比更长,则根据窗口的高度值重新计算缩放比例,并使用transform的scale属性对大屏幕容器进行缩放操作,同时使用translate属性将容器移动到窗口的中央。同理,如果窗口的长宽比更短,则根据窗口的长度值计算缩放比例,并对大屏幕容器进行相应的缩放操作。通过这种方式,可以实现大屏幕的适配。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [Vue项目大屏可视化适配 transform+解决高德地图经纬度偏移](https://blog.csdn.net/qq_45642765/article/details/125988515)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Vue 可视化大屏适配方案](https://blog.csdn.net/Windyluna/article/details/122296831)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值