CSS自适应分辨率 amfe-flexible 和 postcss-pxtorem:大屏高宽自适应问题

前言

继上篇《CSS自适应分辨率 amfe-flexible 和 postcss-pxtorem》。
发现一个有趣的问题,文件 rem.js 中按照宽度设置自适应,适用于大多数页面,但当遇到大屏就不那么合适了。

问题

使用宽度,注意代码第2 和 4 行:

    // 1920 默认大小16px; 1920px = 120rem ;每个元素px基础上/16const screenWidth = 1920const scale = screenWidth / 16const htmlWidth = document.documentElement.clientWidth || document.body.clientWidth// 得到html的Dom元素const htmlDom = document.getElementsByTagName('html')[0]// 设置根元素字体大小htmlDom.style.fontSize = htmlWidth / scale + 'px'

如下图,左右卡片的底部因内容较多而溢出。这是按照宽度设置的,html font-size 较大。

,
解决方案:注意差异也在代码第 2和 4 行,此时已改为按照高度计算:

    // 按高度来const screenHeight = 1080const scale = screenHeight / 16const htmlHeight = document.documentElement.clientHeight || document.body.clientHeight// 得到html的Dom元素const htmlDom = document.getElementsByTagName('html')[0]// 设置根元素字体大小htmlDom.style.fontSize = htmlHeight / scale + 'px'

在这里插入图片描述

总结

关键点就在最后的值 htmlDom.style.fontSize。它决定了rempx 的转换。需根据系统的设计来做相应处理。有时甲方需要在异屏(2880*1800)系统上展示,也可固定 htmlDom.style.fontSize 的值,如直接赋值为 16px

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/288468.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安捷伦DSOX2012A示波器100 MHz

简  述:100 MHz、2 通道,超大的显示屏:8.5 英寸 WVGA 显示屏,高达 50,000 个波形/秒的更新速率,存储器存储深度:100 kpts ,内置 20 MHz 函数发生器 Keysight(原Agilent) InfiniiVision DSOX2…

Sync and Refresh Project to update the path.

报错截图: 解决方案:卸载idea,重新安装idea、sdk、nodejs、ohpm(主要原因就是版本不兼容的问题,我这里是nodejs版本问题,按照推荐重装后),问题解决!!&#xf…

Android Studio设置android:background 属性背景颜色

除了默认的颜色之外都要自己添加。 添加颜色的操作步骤: 打开res文件夹,找values,里面有个colors.xml的文件。然后在里面定义一些颜色。 完成

三相异步电机动态数学模型推导及矢量控制仿真

文章目录 **原文链接,点击跳转**三相异步电机动态数学模型及矢量控制仿真1、异步电机三相方程2、坐标变换3、磁链3/2变换推导4、两相静止坐标系下的方程5、两相旋转坐标系下的方程6、以 ω-is-Ψr 为状态变量的状态方程7、矢量控制及 matlab 仿真 原文链接&#xff…

adam优化器和动量

原始的SGD 加上动量(惯性,每一次更新根据前面所有结果,使结果更快收敛) AdaGrad 与SGD的核心区别在于计算更新步长时,增加了分母:梯度平方累积和的平方根。此项能够累积各个参数 的历史梯度平方&#xf…

边缘计算有哪些常用场景?TSINGSEE边缘AI视频分析技术行业解决方案

随着ChatGPT生成式人工智能的爆发,AI技术在业界又掀起一波新浪潮。值得关注的是,边缘AI智能也在AI人工智能技术进步的基础上得到了快速发展。IDC跟踪报告数据显示,2021年我国的边缘计算服务器整体市场规模达到33.1亿美元,预计2020…

KylinV10 安装 MySQL 教程(可防踩雷)

KylinV10 安装 MySQL 教程(可防踩雷) 1、直接用 apt 快捷安装 MySQL $ sudo apt-get update #更新软件源 $ sudo apt-get install mysql-server #安装mysql然后你会发现,KylinV10 安装畅通无阻,并没有设置密码的场景&#xff0c…

window之pycharm配置shell

cmd.exe "/K" e:\ProgramData\anaconda3\Scripts\activate.bat e:\ProgramData\anaconda3

mysql:查看尝试连接mysql服务器的次数(包含成功和失败的尝试)

运行命令show global status like Connections;查看尝试连接mysql服务器的次数(包含成功和失败的尝试)。 例如:

JVM征服面试篇-亿及流量系统设计(学习笔记)

一、如何拆解亿级流量系统-百万级结算系统如何设置JVM 1.先确认如下问题: 2.第一步:确定业务背景和核心流程 3.第二步:确认系统的压力在哪里 3.第三步:确定QPS 4.第四步:确定单笔订单耗时,寻找性能瓶颈 5.…

【笔记】网络流基本概念

文章目录 最大流相关概念最小割相关概念费用流相关概念 最大流相关概念 流网络:由一些点和有向边组成的可以有环的图,记作 G ( V , E ) G(\text V,\text E) G(V,E),其中 V \text V V 是点集, E \text E E 是边集。定义 n ∣…

SQL Server 安装教程

安装数据库 1、启动SQL Server2014安装程序,运行setup.exe文件,打开”SQL Server安装中心“对话框,单击左侧 的导航区域中的”安装“选项卡。 2、选择”全新SQL Server独立安装或向现有安装添加功能“,启动SQL Server2014安装向导…