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

简介: 响应式数据大屏开发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%; // 等于父级的 1000px
  height: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的样式不被替换成rem
            minPixelValue: 3,
             //忽略一些文件,不进行转换,比如我想忽略 依赖的UI框架
            exclude: ['node_modules']
        }
    }
}

3.创建resize.js并使用

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

以上就是响应式数据大屏开发感谢大家的阅读

如碰到其他的问题 可以私下我 一起探讨学习

如果对你有所帮助还请 点赞 收藏谢谢~!

关注收藏博客 作者会持续更新…

相关文章
|
JSON 前端开发 JavaScript
3分钟让你学会axios在vue项目中的基本用法(建议收藏)
3分钟让你学会axios在vue项目中的基本用法(建议收藏)
947 0
|
存储 数据采集 NoSQL
收藏!一张图帮你快速建立大数据知识体系
对海量数据进行存储、计算、分析、挖掘处理需要依赖一系列的大数据技术,而大数据技术又涉及了分布式计算、高并发处理、高可用处理、集群、实时性计算等,可以说是汇集了当前 IT 领域热门流行的 IT 技术。本文对大数据技术知识体系进行划分,共分为基础技术、数据采集、数据传输、数据组织集成、数据应用、数据治理,进行相关的阐述说明,并列出目前业界主流的相关框架、系统、数据库、工具等。(文末福利:下载大数据知识体系图)
18586 3
收藏!一张图帮你快速建立大数据知识体系
|
小程序 JavaScript
【微信小程序】-- WXML 模板语法 - 事件绑定 -- tap & input (十)
【微信小程序】-- WXML 模板语法 - 事件绑定 -- tap & input (十)
|
监控 NoSQL Java
Redis之高并发超卖问题解决方案
在高并发的秒杀抢购场景中,常常会面临一个称为“超卖”(Over-Selling)的问题。超卖指的是同一件商品被售出的数量超过了实际库存数量,导致库存出现负数。这是由于多个用户同时发起抢购请求,而系统未能有效地控制库存的并发访问。
1460 0
|
8月前
|
人工智能 安全 数据可视化
中国企业选CRM的「七维」:7大主流品牌横向对比(2025版)
本文选取7大主流CRM品牌(覆盖国际头部、国内ERP系、中小聚焦型、免费成长型),围绕客户全生命周期管理、销售过程跟进与团队协作、自定义表单/流程/报表、多端同步与数据安全、自动化提醒与任务分派五大核心维度,进行「手术刀式」的深度对比,最终给出场景化选型建议。
|
存储 弹性计算 网络安全
搭建基于OSS的图片分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个图片分享网站。
|
存储 自然语言处理 NoSQL
6.4K star!轻松搞定专业领域大模型推理,这个知识增强框架绝了!
🔥「垂直领域大模型落地难?逻辑推理总出错?这个来自OpenSPG的开源框架,让专业领域知识服务变得像搭积木一样简单!」
775 3
Vue3 中使用 Event Bus
【10月更文挑战第16天】Event Bus 是 Vue3 中一种简单而实用的通信方式,在一些简单的场景中可以发挥重要作用。但在实际应用中,要根据项目的具体需求和复杂度,选择合适的通信方式,以实现最佳的性能和可维护性。同时,要遵循最佳实践,合理使用 Event Bus,避免出现问题。
1711 160
|
存储 人工智能 自然语言处理
AI Agent与SaaS工具协同发展的未来:企业智能化的全新范式
AI Agent以自主性和智能化为核心,适合复杂任务的动态执行;而SaaS工具则注重服务的完整性和易用性,适合标准化业务需求。
1452 14
AI Agent与SaaS工具协同发展的未来:企业智能化的全新范式
|
存储 缓存 安全
解决Edge浏览器提示“此网站已被人举报不安全”
【8月更文挑战第19天】如果Edge浏览器提示“此网站已被人举报不安全”,首先确认网站可信度及安全证书有效性,避免访问可疑网站。检查浏览器是否需要更新,并确保自动更新功能已开启。可暂时关闭Microsoft Defender SmartScreen(不建议长期关闭),清除缓存和Cookies,或检查第三方安全软件设置。若问题持续,考虑重置Edge浏览器设置,保留重要数据。如仍无法解决,联系网站管理员或微软支持。
3946 7