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

前言

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

问题

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

    // 1920 默认大小16px; 1920px = 120rem ;每个元素px基础上/16
    const screenWidth = 1920
    const scale = screenWidth / 16
    const 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 = 1080
    const scale = screenHeight / 16
    const 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C/C++、Java、Python:主要编程语言的演进与未来趋势

导言 C/C、Java、Python作为主要的编程语言,在软件开发领域扮演着重要角色。本文将深入研究这三者的发展历程、遇到的问题、解决过程,以及未来的可用范围。同时,分析它们之间的联系与区别,探讨哪一门语言可能在未来占据主导地位&a…

OpenCV技术应用(9)— 视频的暂停播放和继续播放

前言:Hello大家好,我是小哥谈。本节课就手把手教大家如何控制视频的暂停播放和继续播放,希望大家学习之后能够有所收获~!🌈 目录 🚀1.技术介绍 🚀2.实现代码 🚀1.技术介绍…

14:00面试,14:08就出来了,问的问题有点变态。。。

从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到5月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%…

13. 从零用Rust编写正反向代理, HTTP中的压缩gzip,deflate,brotli算法

wmproxy wmproxy是由Rust编写,已实现http/https代理,socks5代理, 反向代理,静态文件服务器,内网穿透,配置热更新等, 后续将实现websocket代理等,同时会将实现过程分享出来&#xff…

Ansible的脚本----playbook剧本

Playbook组成部分 tasks 任务:包含要在目标主机上执行的操作,使用模块定义这些操作。每个任务都是一个模块的调用。Variables 变量:存储和传递数据。变量可以自定义,可以在playbook当中定义全局变量,可以外部传参。T…

MyBatis ORM映射

MyBatis只能自动维护库表”列名“与”属性名“相同时的对应关系&#xff0c;二者不同时无法自动ORM 因此需要使用到ORM映射。 共有两种解决办法&#xff1a;1.列的别名 2.结果映射 1.列的别名 在SQL中使用 as 为查询字段添加列别名&#xff0c;以匹配属性名 public List<…

Gazebo GUI模型编辑器

模型编辑器 现在我们将构建我们的简单机器人。我们将制作一个轮式车辆&#xff0c;并添加一个传感器&#xff0c;使我们能够让机器人跟随一个斑点&#xff08;人&#xff09;。 模型编辑器允许我们直接在图形用户界面 &#xff08;GUI&#xff09; 中构建简单的模型。对于更复…

Docker容器的优化和性能调优技巧

Docker已经成为了现代应用程序开发和部署的核心工具之一。然而&#xff0c;要确保Docker容器在生产环境中运行稳定、高效&#xff0c;需要一些优化和性能调优的技巧。本文将介绍一些关键的Docker容器优化和性能调优策略&#xff0c;并提供丰富的示例代码&#xff0c;以帮助大家…

debain12.0系统安装cuda和cudnn,并且可以调用算力

1.硬件和软件说明 显卡&#xff1a;4060Ti cuda&#xff1a;cuda11.7 cudnn&#xff1a;cudnn8.5.0 NVIDIA驱动&#xff1a;535.146.02 Anaconda3软件&#xff1a;2023.09版 所有软件均可在网络上下载&#xff0c;如下图 2.查看系统&#xff1a; cat /etc/debian_version3.换…

【GitHub精选项目】IP 地址转地理位置:ip2region 完全指南

前言 本文为大家带来的是 lionsoul2014 开发的 ip2region 项目&#xff0c;一种高效的离线 IP 地址定位库。ip2region 提供了10微秒级别的查询效率&#xff0c;支持多种主流编程语言&#xff0c;是一种理想的 IP 定位解决方案。 这个开源项目可以实现 IP 地址到地理位置的精确映…

PLC物联网,实现工厂设备数据采集

随着工业4.0时代的到来&#xff0c;物联网技术在工厂设备管理领域的应用日益普及。作为物联网技术的重要一环&#xff0c;PLC物联网为工厂设备数据采集带来了前所未有的便捷和高效。本文将围绕“PLC物联网&#xff0c;实现工厂设备数据采集”这一主题&#xff0c;探讨PLC物联网…

2-高可用-负载均衡、反向代理

负载均衡、反向代理 upstream server即上游服务器&#xff0c;指Nginx负载均衡到的处理业务的服务器&#xff0c;也可以称之为real server,即真实处理业务的服务器。 对于负载均衡我们要关心的几个方面如下&#xff1a; 上游服务器配置&#xff1a;使用upstream server配置上…

Axure情形动作篇(ERP登录效验)

目录 一、ERP系统用户登录效验 1.1 完成步骤 1.2 最终效果 二、省市区联动 三、ERP菜单栏页面跳转 四、下拉加载效果实现 4.1 加载动画实现步骤 4.2 下划界面加载实现 4.3 最终效果 一、ERP系统用户登录效验 1.1 完成步骤 首先搭建ERP系统的登录界面&#xff08;输入…

HP服务器idrac设置以及系统安装

HP服务器idrac设置以及系统安装 一、设置管理口的地址和密码1、HP服务器重新界面选择"F9"进入BIOS&#xff0c;设置iLo5(idrac)的IP和用户名密码。2、选择"系统配置"。3、选择"iLO 4"配置程序。4、网络选项是设置idrac管理口的地址&#xff0c;设…

《数据分析-JiMuReport》积木报表详细入门教程

积木报表详细入门教程 一、JimuReport部署入门介绍 积木报表可以通过源码部署、SpringBoot集成、Docker部署以及各种成熟框架部署&#xff0c;具体可查看积木官方文档 当前采用源码部署&#xff0c;首先下载Jimureport-example-1.5.6 1 jimureport-example目录查看 使用ID…

IDEA创建springboot工程

选择spring boot的版本和依赖 finish创建完成 删除无用的文件

Java开发框架和中间件面试题(2)

8.说说自己对Spring MVC的了解&#xff1f; MVC是一种设计模式&#xff0c;Spring MVC是一款很优秀的MVC框架。Spring MVC可以帮助我们进行更简洁的Web层开发&#xff0c;并且它天生与Spring框架集成。SpringMVC下我们一般把后端项目分为Service&#xff08;处理业务&#xff0…

vue ui 一直卡在 Starting GUI..

1.如果项目一直卡在 Starting GUI… 2.解决方法 (切换数据源) npm config set registry http://registry.npm.taobao.org/3.成功解决

CGAL的锥形扳手

1、介绍 这一章描述了用于构建两种基于锥体的生成树的包&#xff1a;Yao图和Theta图&#xff0c;给定平面上的一组顶点和锥体边界的方向。支持精确和不精确的构造。在精确构造中&#xff0c;锥体边界是使用多项式的根来计算的&#xff0c;通过避免在计算中使用π来实现精确性。…

数据治理之数据梳理与建模

目录 一、什么是数据模型二、数据模型的类型概念模型概念模型的3个基本要素概念模型的用途 逻辑模型逻辑模型的特征逻辑模型的用途 物理模型物理模型特征物理模型用途 三、什么是数据梳理数据梳理两种流程自上而下梳理数据域梳理数据主题梳理数据实体梳理设计数据模型优缺点 自…