记公司项目中数字大屏适配4K大屏的问题

news/2024/10/25 0:27:42/

记公司项目中数字大屏适配4K大屏的问题

在接手的时候,前端页面已经开发完成,div高度与宽度是百分比,所以适配问题不用考虑宽高问题,但字体边距等没有统一单位,要求适配4k屏

首先4k屏的宽高是3840*2160

有以下几种思路作参考

  1. 媒体查询,在public的index.html文件里设置根元素大小来适配

利用

@media screen and (min-width:3100px){font-size:32px}@media screen and (max-width:1930px){font-size:16px}

通过媒体查询设置根元素大小,在页面所有含有px的位置,包括边距等全部改为rem,可以作为一种适配思路。缺点:太多地方需要修改,即使改完页面,框架布局仍然需要修改,比较麻烦。好处:一劳永逸,真正实现适配,不会出现下面的一些稀奇古怪的问题。

2.媒体查询,在public的index.html文件里设置transform:scale()利用css实现整体的放大与缩小

@media screen and (min-width:3100px){body{display:flex;alime-items:center;justify-content:center}transform:scale(2,2.227)}@media screen and (max-width:1930px){body{display:block}transform:scale(1,1)}

tips:1.因为在浏览器打开是1920*964并非是1920*1080,所以不是scale(2,2)

2.因为在设置scale之后在返回到正常浏览器页面时会出现适配问题,不适合开发时来回切换,所以需要设置scale(1,1)【这里就有后面一个坑,这里说明dom节点仍然是元素原来,并不会因为scale的设置变成我们所看见的样子,获取的仍然是原来的元素】

出现的问题:

  1. 在经历过scale之后,原来的页面的css中有的地方使用的是vh,现在不适用统一改成px可以适配
  2. scale之后因为使用的是scale(2,2.227),导致页面宽高放大比例不等,页面上的元素会被在纵向上拉长,文字体现并不明显,而图片很明显。
  3. 这里需要着重提出一个点就是全屏问题,通过一个页面上的一个dom节点来点击全屏或恢复,这里是一位前辈使用的是screenfull插件,使用及其简单,通过获取dom节点之后,在设置标志位后利用判断语句实现需求,但同时也造成一个很严重的问题,就是获取的dom元素仍然是原来的元素,并不是scale之后的元素(但也确实应该如此),此时似乎走进了死胡同,但在我的不懈努力下,突然想起zoom属性也可以放大,可不可以在获取dom节点之后再让他放大,改变它的dom,事实上scale不能改变原来的元素,所以在尝试后并没有效果,但在使用了zoom属性后,确确实实拿到了放大之后的dom,screenfull插件完美运行(这一段是自己理解的)。

doucument.element.......body(获取dom的方法).style.zoom=2

  1. 解决上述问题后,页面近乎完成,但是有一个问题是ant组件库的select选择框在经历scale之后出现options下拉框不显示的问题。

为解决这一问题,查了许多资料,一种说法是z-index层级不够高需要把select选择框改为z-index:9999(因为modal的z-index是9998),使用后没效果,还一种说法是因为select选择框是渲染在body上,造成了遮盖(听着挺靠谱,因此在antd文档中的select下面有一个属性是类似于此如下图)但在添加之后仍然无法出现

  1. 媒体查询,在public的index.html文件里设置zoom利用css实现整体的放大与缩小
@media screen and (min-width:3100px){zoom:2}

事实上使用了该方法后几乎没有碰到上面许多坑爹问题,甚至于在全屏之前都不需要对dom节点进行操作,不需要在加zoom:2。这里就感觉zoom确实改变了dom节点。

唯一的缺点:不兼容火狐浏览器,(无语)


http://www.ppmy.cn/news/319251.html

相关文章

无线充电宝效果怎么样,无线充电实用性大吗

现在我们一旦要出门,手机肯定是必不可少的工具之一,可以说离开了手机寸步难行。但是随着手机耗电量越来越快,很难有手机的续航能支撑两天,一般情况下,我们使用一天或者大半天就会产生电量焦虑。那么当我们在外出行充电…

充电宝有没有必要买?便携充电宝推荐

充电宝是人们出行必备的小型充电装置,它的出现让人们不必再担心在半路上手机突然没电了。而全球范围内,充电宝品牌是非常多的,充电宝有没有必要买呢呢?我个人觉得还是很有必要的,下面我为大家带来几款便捷的充电宝&…

教您怎么样正确给黑莓手充电

现象: 电池总也充不满,直接表现就是电池总是达不到100%; 一充就满一打就没电,充满的电池用不到2天就没电了,甚至是1天不到就没电了; 、新买的电池用了不到3个月,就出现上述1和2的情况&…

常见开关电源优缺点对比

关注星标公众号,不错过精彩内容 素材来源 | 网络 本文主要讲述常见的开关电源拓扑结构特点和优缺点对比。 常见的拓扑结构,包括Buck降压、Boost升压、Buck-Boost降压-升压、Flyback反激、Forward正激、Two-Transistor Forward双晶体管正激等。 常见的基本…

戴尔电脑OptiPlex7080装机步骤

开机按F2 取消勾选 重启按F12选择第二项U盘启动(UEFI) 进入PE系统,选择磁盘管理,加载镜像。选择自定义安装。

Dell R740服务器 内存报错 MEM8000

MEM8000 Correctable memory error logging disabled for a memory device at location DIMM_XX 1. 确认DIMM 内存状态,清一下日志后观察 2. 将内存重新插拔或者与其他内存替换

Dell PowerEdge T140服务器安装系统笔记

公司买了一台DellDell PowerEdge T140,要安装系统。 首先想安装一个windows server。 首先尝试安装windows server2008.版本比较老,不过手里刚好有这个版本,就试试看。 结果不出意外安装不上。 用了两种方法,第一种用光盘启动…

DELL戴尔 800电话

DELL戴尔 800电话客服电话 800-858-2060 非技术性问题 初次安装服务及维修服务单查询热线 800-858-0890 (0592-8183658) 投影仪,交换机, 无线宽频路由器及PDA 掌上电脑 800-858-2920 (0592-8183641 ) SmartPC 100; 200及2002年6月3日之前出厂的…