响应式数据大屏开发rem、%、vh/vm

前言 响应式数据大屏开发rem、%、vh/vm

我们在开发数据大屏的时候难免会需要解决响应式问题 ,那么响应式是什么呢?

响应式:响应式布局是元素随着屏幕发生宽高大小变化 + 盒子布局发生变化
通俗的来说:
自适应:元素随着屏幕发生宽高大小变化

在这里插入图片描述

有哪些响应式的技术?

1.媒体查询 :@media screen and
2.百分比布局:%
3.vh/vm布局:100vh/vm
4.rem布局:根据根元素的font-size大小变化
5.flex布局:display:flex

实战:

  • 媒体查询

什么是媒体查询?
媒体查询就是对不同分辨率的屏幕编写不同的css样式来达到适配的目的
也就是在不同分辨率的区间写上不同的样式,不需要改变的样式可以写在外面变成公共样式

媒体查询有哪些属性呢?

only:限定某种设备。
screen:彩色电脑屏幕,是媒体类型里的一种。
and:关键字,连接多个表达式。
not:关键字,排除不支持的媒体类型。
max-width 是目标显示区域的宽度,例如,浏览器宽度。
max-device-width 是设备整个显示区域的宽度,例如,真实的设备屏幕宽度。
device-aspect-ratio 可以适配特定屏幕长宽比的设备,设备屏幕长宽比为4:3、16:9
上代码:

这里我们要兼容多个尺寸大小的屏幕 所以用 and

        .div{background-color: #fff;}@media screen and (max-width:800px) {/* 屏幕尺寸小于等于700时下面的样式执行 */.div{background-color: red;}}@media screen and (max-width:700px) {.div{background-color: bule;}.head{display:flex;}}@media screen and (min-width:300px) and (max-width:500px) {.div{background-color: green;}.head{display:nonoe;}}
  • 百分比布局

百分比布局就是把需要用到尺寸的都用百分比
亿点小知识:百分比是继承父级的大小的百分比

* {margin: 0;padding: 0;
}
body {width: 1000px;height: 800px;
}
div{width:100%; // 等于父级的 1000pxheight:100%;// 等于父级的 800px
}
  • vh/vm布局

是根据屏幕的尺寸作为单位:
vm就是屏幕宽的尺寸 、 vh就是屏幕高的尺寸

body {width: 100vm; // 屏幕宽一样宽height: 50vh;// 屏幕的高的一半
}
  • rem布局

rem 根据根元素的font-size大小作为单位
例如:根元素的font-size是 16px 那么 1rem = 16px

var documentElement = document.documentElement;
function callback() {var clientWidth = documentElement.clientWidth;// 屏幕宽度大于780,不在放大clientWidth = clientWidth < 780 ? clientWidth : 780;documentElement.style.fontSize = clientWidth / 10 + 'px';
}

第二种下载插件:使用pxtorem 实现rem布局
1.安装postcss-pxtorem --save

npm i postcss-pxtorem --save

2.在项目根目录创建postcss.config.js文件

module.exports = {plugins: {'postcss-pxtorem': {//根元素字体大小rootValue: 16,//匹配CSS中的属性,* 代表启用所有属性propList: ['*'],//转换成rem后保留的小数点位数unitPrecision: 5,//小于12px的样式不被替换成remminPixelValue: 3,//忽略一些文件,不进行转换,比如我想忽略 依赖的UI框架exclude: ['node_modules']}}
}

3.创建resize.js并使用

function resizeRem() {const scale = document.documentElement.clientWidth / 1920document.documentElement.style.fontSize = 16* scale + 'px'
}
resizeRem()
window.onresize = function () {resizeRem()
}

在这里插入图片描述
以上就是响应式数据大屏开发感谢大家的阅读
如碰到其他的问题 可以私下我 一起探讨学习
如果对你有所帮助还请 点赞 收藏谢谢~!
关注收藏博客 作者会持续更新…

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

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

相关文章

HTTP调用:你考虑到超时、重试、并发了吗?

今天&#xff0c;我们一起聊聊进行 HTTP 调用需要注意的超时、重试、并发等问题。 与执行本地方法不同&#xff0c;进行 HTTP 调用本质上是通过 HTTP 协议进行一次网络请求。网络请求必然有超时的可能性&#xff0c;因此我们必须考虑到这三点&#xff1a; 首先&#xff0c;框架…

Storm forming 风雨欲来 | 经济学人20230325版社论高质量双语精翻

本期精翻为2023年3月25日《经济学人》周报封面文章&#xff1a;《风雨欲来》&#xff08;Storm forming&#xff09;。 Storm forming 风雨欲来 As video games grow, they are eating the media 随着电子游戏的发展&#xff0c;它们正在蚕食媒体 The games business has lesso…

对rabbitmq进行压测

添加rabbitmq依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactI…

【STM32】F103 总线结构

一、总线的概念二、STM32的总线结构2.1 STM32的总线矩阵2.2 STM32的存储器映射2.3 STM32的外设寄存器 一、总线的概念 总线是连接多个部件的信息传输线&#xff0c;是各部件共享的传输介质。总线是一种电路&#xff0c;它是CPU、RAM、ROM、输入、输出等设备传递信息的公共通道…

PHP 论坛系统mysql数据库web结构apache计算机软件工程网页wamp

一、源码特点 PHP 论坛系统 是一套完善的web设计系统&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为PHP APACHE&#xff0c;数据库为 mysql5.0&#xff0c;使用php语言开发。 下载链接…

大数据应用——HBASE实验

任务一&#xff1a;搭建HBase集群 1.1 搭建Zookeeper 1. 官网下载Linux环境的tar包 &#xff08;1&#xff09;官网地址&#xff1a;Apache ZooKeeper &#xff08;2&#xff09;下载Linux环境的tar包 2. 拷贝安装包到Linux系统下并解压到指定目录 [hadoophadoop101 softwar…

高效处理消息:使用Spring Boot实现消息重试机制

当涉及到消息发送和接收的可靠性&#xff0c;Spring Boot提供了一些机制来确保消息的可靠传递。其中包括消息确认机制和重试机制。下面是一个示例代码&#xff0c;演示如何在Spring Boot中实现可靠的消息发送和接收。 首先&#xff0c;我们需要配置RabbitMQ的连接信息和相关属性…

【Java】JVM学习(一)

JVM是一种规范 Java程序的执行过程 一个 Java 程序&#xff0c;首先经过 javac 编译成 .class 文件&#xff0c;然后 JVM 将其加载到方法区&#xff0c;执行引擎将会执行这些字节码。执行时&#xff0c;会翻译成操作系统相关的函数。JVM 作为 .class 文件的翻译存在&#xff…

Flutter 设置自定义字体

一般我们会在 assets 文件夹下新建一个 font 的文件夹&#xff0c;然后把字体拖动到 font 文件夹中&#xff0c;如下图所示 然后在 pubspec.yaml 配置文件中新添加如下内容 fonts:- family: Impactfonts:- asset: assets/font/IMPACT.TTF 最后字体使用 Text( "自定义字体…

基于深度学习的高精度烟雾检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度烟雾检测识别系统可用于日常生活中或野外来检测与定位烟雾目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的烟雾目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检测模型…

天津大学天津市认知计算与应用重点实验室视听觉认知计算团队12篇论文被语音处理顶会Interspeech 2023接收

天津大学天津市认知计算与应用重点实验室视听觉认知计算团队12篇论文被语音技术顶会Interspeech 2023接收&#xff0c;涵盖意图识别、口语理解、声学特征、语音识别、语音分离、情感识别等研究方向&#xff0c;论文简介如下。 01. Rethinking the visual cues in audio-visual…

最新ai创作系统CHATGPT镜像系统源码+支持GPT4.0+支持ai绘画(MJ)+实时语音识别输入+免费更新版本

AI系统CHATGPT镜像程序源码支持GPT4支持ai绘画实时语音识别输入免费更新版本 一、AI创作系统二、系统介绍三、系统程序下载四、安装教程五、主要功能展示六、更新日志 一、AI创作系统 1、提问&#xff1a;程序已经支持GPT3.5、GPT4.0接口、支持新建会话&#xff0c;上下文记忆…