响应式开发基础知识以及大屏解决方案

news2024/11/18 23:42:33

1.响应式开发基础知识

1.1-媒体查询@media:

css中设置条件,基于@media

媒体设备: all所有设备print打印设备/screen屏幕设备媒体条件,符合某个条件,写对应的样式max-width、min-width、max-height、min-heigth

1.2-视口viewport

html5页面放到手机上预览,默认情况下,不管手机设备有多宽,html都是按照980px或者1024px(黑莓)宽度渲染的,这样页面会整体缩小,内容也会整体缩小。

解决方案:viewport-设定页面渲染中的一些规则

<meta name="viewport" content="width=device-width, initial-scale=1.0"> 
  • initial-scale=1.0:初始缩放比例
  • width=device-width:宽度等于设备宽度

1.3-等比缩放布局:

按照固定的样式写一版样式(例如:1920),然后根据设备的宽度,让其除以1920,计算除以缩放的比例,最后让整个html基于transform:scale(比例)进行缩放。

但是这么做会有一个问题就是,有些内容缩放后会模糊。

1.4-rem响应式布局开发(目前常用):

css常用单位:

  • px像素(固定单位)
  • em相对单位,相对于父元素字体大小设定的单位
  • remroot em)相对于当前页面根元素(html)的字体大小设定的

使用rem响应式布局:

如果320px宽度下 htmlfont-size对应的是20px

那么在375px宽度下htmlfont-size对应的是(375/320)*20

document.documentElement.style.fontSize = (375/320)*20 + 'px';

2.响应式布局开发具体步骤:

  • 拿到设计稿后,先在设计稿后(设计稿一般是750px),我们设定一个处理的rempx的换算比例(一般设置1rem = 100px,为了方便后期换算,不能写10px,因为浏览器最小的字体大小为12px)* 测量出设计稿中,元素的尺寸(ps测出来的是px),在编写样式的时候,全部转换为rem(测量值➗100)* 一般移动端最外层宽度,使用百分比* 编写一段js代码:获取当前设备的宽度,让其除以设计稿的宽度(750),再乘以初始的换算比例100,计算出当前设备下,1rem应该等于多少像素。 这样htmlfont-size的大小一改变,之前所有以rem为单位的值,都会跟着自动缩放。// 1rem = 100px 的情况 function computedREM (){let html = document.documentElement;let winW = html.clientWidth;html.style.fontSize = winW/750 *100 + 'px';}computedREM();window.addEventListener('resize',computedREM) * 实际项目开发中以rem为主,部分效果实现可以基于flex来实现,需要样式微调整,还是要基于@media来完成### 3.DPI适配:

DPR:屏幕像素密度比

1像素:

dpr为2,其实中的1px其实是2x2渲染的

最后

最近还整理一份JavaScript与ES的笔记,一共25个重要的知识点,对每个知识点都进行了讲解和分析。能帮你快速掌握JavaScript与ES的相关知识,提升工作效率。



有需要的小伙伴,可以点击下方卡片领取,无偿分享

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于java+springboot+mybatis+vue+mysql的沁园健身房预约管理系统

项目介绍 现在无论是在PC上还是在手机上&#xff0c;相信全国所有地方都在进行网上健身房预约管理。随着经济的不断发展&#xff0c;系统管理也在不断增多&#xff0c;健身房预约平台就是其中一种。 本次的毕业设计主要就是在基于Java语言平台下设计并开发一个健身房预约平台…

k8s部署fabric 2.4

test-network的部署现状 dockerdocker-compose ip端口号&#xff1a;ip不可变&#xff0c;人工维护&#xff0c;不可冲突脚本化&#xff1a;程度低&#xff0c;部分流程需要登陆到容器中执行日志收集&#xff1a;无监控告警&#xff1a;无容器管理&#xff1a;无部署流程&…

4.1什么叫作PCB封装?它的分类一般有哪些? Cadence Allegro软件制作PCB封装的一般流程是什么?

笔者电子信息专业硕士毕业&#xff0c;获得过多次电子设计大赛、大学生智能车、数学建模国奖&#xff0c;现就职于南京某半导体芯片公司&#xff0c;从事硬件研发&#xff0c;电路设计研究。对于学电子的小伙伴&#xff0c;深知入门的不易&#xff0c;特开次博客交流分享经验&a…

Java中的5个代码性能提升技巧,学会之后立马提升近10倍性能

文章目录预先分配 HashMap 的大小优化 HashMap 的 key不使用 Enum.values() 遍历使用 Enum 代替 String 常量使用高版本 JDK这篇文章介绍几个 Java 开发中可以进行 性能优化的小技巧&#xff0c;虽然大多数情况下极致优化代码是没有必要的&#xff0c;但是作为一名技术开发者&a…

如何通过nodejs快速搭建一个服务器

在前端开发过程中&#xff0c;可能某些时候需要自己搭建一台服务器用于一些文件图片请求或者进行后端相关知识的学习。本文主要讲解如何通过nodejs进行一个基础服务器的搭建&#xff0c;包括如何将文件布置的服务器&#xff0c;以及基础接口的开发。后面可能会更新关于通过node…

C# SuperSocket 手把手教你入门 傻瓜教程---9(CountSpliterReceiveFilter - 固定数量分隔符协议)使用COMMAND

C# SuperSocket 手把手教你入门 傻瓜教程系列教程 C# SuperSocket 手把手教你入门 傻瓜教程---1&#xff08;服务器单向接收客户端发送数据&#xff09; C# SuperSocket 手把手教你入门 傻瓜教程---2&#xff08;服务器和客户端双向通信&#xff09; C# SuperSocket 手把手教…

【Vue 快速入门系列】Vue数据实现本地存储、自定义事件绑定、全局事件总线、$nextTick的使用

文章目录一、本地存储1.概念2.接口3.实际操作二、自定义事件绑定1.自定义事件使用过程2.绑定自定义事件的语法3.其他注意事项三、全局事件总线1.全局事件总线概念2.全局事件总线的使用方式3.原理剖析四、$nextTick小技巧一、本地存储 1.概念 可以将数据临时存储到本地浏览器&…

基于适应度-距离平衡的人工生态系统优化求解暂态稳定约束最优潮流问题附matlab代码

​✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法…

数字时代,企业应该如何看待商业智能BI

新一代数字化相关技术的应用&#xff0c;使得数字化产品和服务覆盖了社会的方方面面&#xff0c;也让数据成为了构建现代化社会的核心元素&#xff0c;让人们明白数据不只是人类活动产生的附加品&#xff0c;还能够在应用过程中促进人类活动发展、优化和改变&#xff0c;真正成…

Python时间模块之datetime模块

目录 简介 函数介绍及运用 date&#xff1a;日期类 1.获取当前时间 2.日期对象的属性 3.date类中时间和时间戳的转换&#xff1a; 4.修改日期使用replace方法 time&#xff1a;时间类 time类操作 datetime&#xff1a;日期时间类 timedelta&#xff1a;时间间隔&…

【MySQL常用性能指标】

这里给大家分享一些MySQL的常用性能指标&#xff0c;可以对此增加一些自定义指标到数据库的监控里&#xff0c;如zabbix或者prometheus&#xff0c;来更好的检测数据库的状态。 我的MySQSL版本是5.7.19。因为是自己的测试环境&#xff0c;所以截图的一些指标很低&#xff0c;仅…

[附源码]Python计算机毕业设计SSM基于的考研信息共享平台(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

linux下故障硬盘点灯操作

按照常理说&#xff0c;硬盘故障了&#xff0c;会自动亮红灯&#xff0c;故障消除后会自动恢复正常&#xff0c;这个本来是服务器自带的功能。但现实情况往往不是这样&#xff0c;即使硬盘故障了&#xff0c;现场通过外观也看不出来。 1 硬盘点灯的意义 在运维的工作中&#…

【电巢】什么是EMC测试?EMC测试又是如何分类的?

在CE认证里面针对不同产品有不同的测试标准、指令&#xff0c;带电产品中必须要测是的EMC指令&#xff0c;作为最常见的CE指令&#xff0c;很多客户想知道什么是EMC测试? EMC的基本定义 EDA365电子论坛 EMC是评价产品质量的一个重要指标。 1.电磁兼容EMC (Electro-Magnetic …

KVM虚拟化

概述 虚拟化是一种技术&#xff0c;可以利用以往局限于硬件的资源来创建有用的 IT 服务。它让您能够将物理计算机的工作能力分配给多个用户或环境&#xff0c;从而充分利用计算机的所有能力。 1.1 工作原理 一种叫做 Hypervisor &#xff08;虚拟机监控程序&#xff09;的软件…

非零基础自学计算机操作系统 第1章 操作系统概述 1.6 操作系统的界面形式 1.7 操作系统的运行机理

非零基础自学计算机操作系统 文章目录非零基础自学计算机操作系统第1章 操作系统概述1.6 操作系统的界面形式1.6.1 交互终端命令1.6.2 图形用户界面1.6.3 触屏用户界面1.6.4 作业控制语言1.6.5 系统调用命令1.7 操作系统的运行机理第1章 操作系统概述 1.6 操作系统的界面形式 …

mac回收站清空还能恢复吗?苹果电脑删除的文件怎么恢复

mac回收站清空还能恢复吗&#xff1f;通常&#xff0c;我们右键从电脑上删除的文件&#xff0c;都是被保存在回收站的&#xff0c;那么从回收站删除的文件去哪儿了呢&#xff1f; 当文件从回收站删除后&#xff0c;这些文件还保留在电脑系统上面&#xff0c;只是我们没有办法看…

Java性能调优System的gc垃圾回收方法

java性能调优System的gc垃圾回收方法 java性能调优System的gc垃圾回收方法示例解 一、什么是System.gc()&#xff1f; System.gc()是用Java&#xff0c;C&#xff03;和许多其他流行的高级编程语言提供的API。当它被调用时&#xff0c;它将尽最大努力从内存中清除垃圾&#…

ABHD5 调控细胞自噬依赖的嘧啶合成介导结肠癌对5-FU 的药物敏感性改变

​ 发表期刊&#xff1a;Nature Communications 影响因子&#xff1a;12.353 发表时间&#xff1a;2019年 合作单位&#xff1a;第三军医大学附属西南医院 今天百趣代谢组学将给大家分享Nature Communications上的一篇文章&#xff1a;ABHD5 blunts the sensitivity of col…

这 88 道阿里高级岗面试题,刷掉了 80% 以上的 Java 程序员

2022&#xff0c;可谓是招聘面试最难季。不少大厂&#xff0c;如腾讯、字节的招聘名额明显减少&#xff0c;面试门槛却一再拔高&#xff0c;如果不用心准备&#xff0c;很可能就被面试官怼得哑口无言。今天不谈其它&#xff0c;就说说我作为面试官面试的那些事儿。 从某电商项目…