【大屏设计方案】

大屏设计方案

    • 一、非等比放大(填充满整个屏幕)
      • 目的屏幕比例大小和设计稿的差的不多
      • 目的屏幕比例大小和设计稿的差很多
    • 二、等比放大(比如16:9)
      • 解决方案
      • 之后就可以用rem了,有两种便利的方式:
    • 也可以用@media 根据不同的屏幕的大小来设定 rem

一、非等比放大(填充满整个屏幕)

目的屏幕比例大小和设计稿的差的不多

相差不多的话也可以如下取rem,不同点不用根据rem 设置外层layout的,宽度直接用100vw,高用100vw,整体布局分布用百分比设置高度宽度,中间用flex=1撑开,再里面的布局用流体式。

目的屏幕比例大小和设计稿的差很多

这就很麻烦,但是也得设置放大比例,一般以宽度为基准 如下获取rem,宽度直接用100vw,高用100vw,整体布局就得用流体布局。

二、等比放大(比如16:9)

理想中的效果,当屏幕的尺寸比例刚好是16:9时,页面能刚好全屏展示,内容占满显示器,但是如果屏幕过长或者过宽的情况也要保持16:9的情况的话,就会出现一下的如下情况
在这里插入图片描述
在这里插入图片描述

解决方案

使用rem 毋庸置疑的
首先木伦是vue 还是react 我们都有html 文件直接在html文件下的script标签下直接监听目前屏幕的大小,例如我们要求就是16/9,我们获取目前的屏幕的宽高比
如果宽高比大于目前的16/9 就说明过宽了,那么就用高度为基准求目前的rem。

比如原比例的默认字号 1rem = 16px
那就是 1rem = 目前的高/1920 ×16

如果宽高比小于目前的16/9 就说明过高了,那么就用宽度为基准求目前的rem。

比如原比例的默认字号 1rem = 16px
那就是 1rem = 目前的宽/1080 ×16

document.documentElement.clientWidth
获取浏览器窗口文档显示区域的宽度,不包括滚动条。
document.documentElement.clientHeight
获取浏览器窗口文档显示区域的高度,不包括滚动条。

<script>
         window.addEventListener("resize", function (e) {
            let currenWidth = document.documentElement.clientWidth;
            let currenHeight = document.documentElement.clientHeight;
            let scale = 16 / 9 // 设计稿比例

            if (currenWidth / currenHeight < 16 / 9) {
                // 显示的宽度就是整屏幕宽度
                // 过高 以宽度为基准等比例放大 1920 设计稿宽 设计稿基本字体就是16px
                document.documentElement.style.fontSize = currenWidth / 1920 * 16 + 'px'

            } else {
                // 显示的高度就是整屏幕高度
                // 过宽 以高度为基准等比例放大
                document.documentElement.style.fontSize = currenHeight / 1080 * 16 + 'px'
            }

        }, false);

那么外层layout的宽高设置多高?
1920 *1080 — 16px
那么 宽度就是 fontSize × (1920/16)
高度 fontSize × (1080 /16)

设置后 控制台就可以看到变化的font-size
在这里插入图片描述

之后就可以用rem了,有两种便利的方式:

1、VsCode安装cssrem插件实现px转rem,推荐这种,自己在编写代码的时候就应用上rem 不再用px

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2. postcss-pxtorem 插件 可看这里

也可以用@media 根据不同的屏幕的大小来设定 rem

 (min-width: 375px) {
      html {
          font-size: 100px;
      }
  

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

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

相关文章

膳食真菌在癌症免疫治疗中的作用: 从肠道微生物群的角度

谷禾健康 癌症是一种恶性肿瘤&#xff0c;它可以发生在人体的任何部位&#xff0c;包括肺、乳房、结肠、胃、肝、宫颈等。根据世界卫生组织的数据&#xff0c;全球每年有超过1800万人被诊断出患有癌症&#xff0c;其中约有1000万人死于癌症。癌症已成为全球范围内的主要健康问题…

@LoadBalanced注解原理

1.概述 使用注解就像是在代码中加入了一段魔法&#xff0c;让我们轻而易举的就实现了至关重要的功能。 就像LoadBalanced一样&#xff0c;将该注解使用在RestTemplate的Bean上&#xff0c;就可以实现负载均衡&#xff0c;就像下面这段代码&#xff1a; Configuration public…

新手UI设计师必读:火爆海外设计圈的设计资源!

Hello&#xff0c;各位好&#xff01; 作为一名新手UI设计师&#xff0c;你是否无法完全搞清楚某些UI设计的基本原则和概念&#xff1f;你是否为使用哪款设计软件来开启你的设计之路而困扰&#xff1f;你是否想要在线学习设计排版、色彩搭配、形状和线条设计&#xff1f; 今天这…

rabbitMQ的详细介绍

1.概述 RabbitMQ是一个消息中间件:它接受并转发消息。你可以把它当做一个快递站点&#xff0c;当你要发送一个包裹时&#xff0c;你把你的包裹放到快递站&#xff0c;快递员最终会把你的快递送到收件人那里&#xff0c;按照这种逻辑RabbitMQ是一个快递站&#xff0c;一个快递员…

实验记录项目

1. 关于语谱图的通道的均值与方差 2023年 03月 27日 星期一 10:10:22 CST 使用tqwt 对每一份音频进行分解: 每份音频得到三个分量, cA分量: 近似分量,用于表征低频部分; cD分量: 高频分量,  res 剩余分量: 1.1 问题: 对每个分量使用如下变换,  使用Mel,  Shar…

SQL面试必会50题

引用&#xff1a; 视频讲解&#xff1a;https://www.bilibili.com/video/BV1q4411G7Lw/ SQL面试必会50题&#xff1a; https://zhuanlan.zhihu.com/p/43289968 图解SQL面试题&#xff1a;经典50题&#xff1a;https://zhuanlan.zhihu.com/p/38354000 其中重点为&#xff1a;1/2…

ChatGLM本地部署应用的实战方案

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

系统分析师每日练习错题知识点2

嵌入式系统---多核cpu 多核是多微处理器核的简称&#xff0c;是将两个或更多的独立处理器封装在一起&#xff0c;集成在一个电路中。多核处理器是单枚芯片&#xff08;也称为硅核&#xff09;&#xff0c;能够直接插入单一的处理器插槽中&#xff0c;但操作系统会利用所有相关…

Java Web中的ServletContext对象

目录 ServletContext对象 获取上下文初始化参数的相关方法 创建ServletContext对象 1&#xff09;通过 GenericServlet 提供的 getServletContext() 方法 2&#xff09;通过 ServletConfig 提供的 getServletContext() 方法 3&#xff09;通过 HttpSession 提供的 getServletCo…

Apache iotdb-web-workbench 认证绕过漏洞 CVE-2023-24829

漏洞简介影响版本 0.13.0 < 漏洞版本 < 0.13.3漏洞主要来自于 iotdb-web-workbench IoTDB-Workbench是IoTDB的可视化管理工具&#xff0c;可对IoTDB的数据进行增删改查、权限控制等&#xff0c;简化IoTDB的使用及学习成本。iotdb-web-workbench 中存在不正确的身份验证漏…

微服务架构(二)

Sentinel 使用及概念 什么是 Sentinel Sentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案。它以流量 为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。Sentinel 具有以下特征: 丰富的应用场景&#xff1a;Sentin…

基于springboot实现医院信息管理系统【源码+论文】

基于springboot实现医院信管系统演示开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xf…

2023年全国DAMA-CDGP数据治理专家认证线上班招生简章

DAMA认证为数据管理专业人士提供职业目标晋升规划&#xff0c;彰显了职业发展里程碑及发展阶梯定义&#xff0c;帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力&#xff0c;促进开展工作实践应用及实际问题解决&#xff0c;形成企业所需的新数字经济下的核心职业…

Vue3——v-md-editor(markDown编辑器)使用教程

Vue3——v-md-editor安装使用教程 安装 # 使用 npm npm i kangc/v-md-editor -SEditorMarkdown.vue页面用来封装此编辑器组件 Test.vue作为接受EditorMarkdown.vue的父组件&#xff0c;当测试页使用 路由部分要放入test.vue main.js部分全局引入组件 import EditorMarkdown f…

操作系统权限维持(十一)之Linux系统-SSH Wrapper后门

系列文章 操作系统权限维持&#xff08;一&#xff09;之Windows系统-粘贴键后门 操作系统权限维持&#xff08;二&#xff09;之Windows系统-克隆账号维持后门 操作系统权限维持&#xff08;三&#xff09;之Windows系统-启动项维持后门 操作系统权限维持&#xff08;四&…

算法强化每日一题--字符串中找出连续最长的数字串

hi,大家好,今天为大家带来一道题目 OR59 字符串中找出连续最长的数字串 描述 读入一个字符串str&#xff0c;输出字符串str中的连续最长的数字串 输入描述&#xff1a; 个测试输入包含1个测试用例&#xff0c;一个字符串str&#xff0c;长度不超过255。 输出描述&#xff1a; 在…

北邮22信通:(8)实验1 题目五:大整数加减法(搬运官方代码)

北邮22信通一枚~ 跟随课程进度每周更新数据结构与算法的代码和文章 持续关注作者 解锁更多邮苑信通专属代码~ 上一篇文章&#xff1a; 北邮22信通&#xff1a;&#xff08;7&#xff09;实验1 题目四&#xff1a;一元多项式&#xff08;节省内存版&#xff09;_青山如…

【人人都能读标准】17. 底层算法:ECMAScript的错误处理机制

本文为《人人都能读标准》—— ECMAScript篇的第17篇。我在这个仓库中系统地介绍了标准的阅读规则以及使用方式&#xff0c;并深入剖析了标准对JavaScript核心原理的描述。 我们在11.程序完整执行过程说过&#xff0c;一个程序的运行会经历三个阶段&#xff1a;初始化Realm环境…

MyBatis-面试题

文章目录1.什么是MyBatis?2.#{}和${}的区别是什么&#xff1f;3.MyBatis的一级、二级缓存4.MyBatis的优缺点5.当实体类中的属性名和表中的字段名不一样 &#xff0c;怎么办 &#xff1f;6.模糊查询like语句该怎么写?7.Mybatis是如何进行分页的&#xff1f;分页插件的原理是什…

渗透测试之冰蝎实战

渗透测试之冰蝎实战1.基本使用2.命令执行&虚拟终端3.文件管理4.反弹shell5.内网资产扫描6.内网穿透7.数据库管理“冰蝎”是一款动态二进制加密网站管理客户端 下载地址 1.基本使用 运行冰蝎&#xff0c;打开传输协议&#xff1a; 生成一个php远程马&#xff1a; 点击生成…
最新文章