移动WEB开发之rem布局--rem适配方案

news2024/11/15 21:25:49

思考

1. 我们适配的目标是什么? 2. 怎么去达到这个目标的? 3. 在实际的开发当中使用?

答案

1. 让一些不能等比自适应的元素,达到当设备尺寸发生改变的时候,等比例适配当前设备。

2. 使用媒体查询根据不同设备按比例设置html的字体大小,然后 页面元素使用rem做尺寸单位,当html字体大小变化元素尺寸 也会发生变化,从而达到等比缩放的适配。

rem 实际开发适配方案

① 按照设计稿与设备宽度的比例,动态计算并设置 html 根标签的 font-size 大小;(媒体查询) ② CSS 中,设计稿元素的宽、高、相对位置等取值,按照同等比例换算为 rem 为单位的值;

rem 适配方案技术使用(市场主流) 

技术方案1

 less  媒体查询  rem

技术方案2(推荐)

 flexible.js  rem

总结: 1. 两种方案现在都存在。 2. 方案2 更简单,现阶段大家无需了解里面的js代码。

rem 实际开发适配方案1

rem + 媒体查询 + less 技术

1. 设计稿常见尺寸宽度

一般情况下,我们以一套或两套效果图适应大部分的屏幕,放弃极端屏或对其优雅降级,牺牲一些效果 现在基本以750为准。 

2. 动态设置 html 标签 font-size 大小

① 假设设计稿是750px

② 假设我们把整个屏幕划分为15等份(划分标准不一可以是20份也可以是10等份)

③ 每一份作为html字体大小,这里就是50px

④ 那么在320px设备的时候,字体大小为320/15 就是 21.33px

⑤ 用我们页面元素的大小 除以不同的 html 字体大小会发现他们比例还是相同的

⑥ 比如我们以 750为标准设计稿

⑦ 一个100*100像素的页面元素 在 750屏幕下, 就是 100 / 50 转换为rem 是 2rem * 2 rem 比例是 1比1

⑧ 320屏幕下, html 字体大小为 21.33 则 2rem = 42.66px 此时宽和高都是 42.66 但是 宽和高的比例还是 1比1

⑨ 但是已经能实现不同屏幕下 页面元素盒子等比例缩放的效果

3. 元素大小取值方法

① 最后的公式: 页面元素的rem值 = 页面元素值(px) / (屏幕宽度 / 划分的份数)

② 屏幕宽度/划分的份数 就是 html font-size 的大小

③ 或者: 页面元素的rem值 = 页面元素值(px) / html font-size 字体

 

 

1. 首先我们选一套标准尺寸 750为准

2. 我们用屏幕尺寸 除以 我们划分的份数 得到了 html 里面的文字大小 但是我们知道不同屏幕下得到的文字大小是不一样的

3. 页面元素的rem值 =  页面元素在 750像素的下px值 / html 里面的文字大小

 例如页面元素div宽100px 

750下15等分

750/15=50

然后

rem=100px/50=2rem

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

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

相关文章

idea高级调试技巧

前言 对于一名开发者来说,找出并处理掉Bug是不可或缺的能力。能够熟练的调试程序将大大提升开发的效率。学好DeBug,再多Bug也不怕。Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生…

chapter7——处理字节顺序

目录1.定义2.小端模式和大端模式的比较3.处理字节顺序不匹配的问题4.访问32位存储器5.处理字节顺序不匹配6.字节顺序中性代码7.字节顺序中性编码指南1.定义 字节顺序定义数据在计算机系统中的存储格式。它描述存储器中地址的最高有效位(MSB)和最低有效位…

基于百度地图的交通查询的毕业设计(android)

目 录 1 前言 1 1.1 背景 1 1.2 论文主要内容与结构 1 2 基础技术介绍(一) 2 2.1 Android概述 2 2.2 Android架构 2 2.3 Android应用程序类型分析 5 3 基础技术介绍(二) 6 3.1 地图简介 6 3.1.1 地图概念 6 3.1.2 构成…

力扣(LeetCode)97. 交错字符串(C++)

动态规划 状态转移方程 f[[i,j]f[i−1,j]∣∣f[i,j−1]f[[i,j] f[i-1,j]\ ||\ f[i,j-1]f[[i,j]f[i−1,j] ∣∣ f[i,j−1] ,仅当最后一个字符匹配。 class Solution { public:bool isInterleave(string s1, string s2, string s3) {int n s1.size(),m s2.size();…

更够实现输入检验输入框

输入检验输入框 效果展示 概述 本文讲解如何书写&#xff0c;可以根据输入内容的在鼠标失去焦点的时候&#xff0c;进行检验的输入框。 构建HTML框架 <body><div class"register"><input type"password" class"ipt"><p…

「Redis」06 事务与锁机制

笔记整理自【尚硅谷】Redis 6 入门到精通 超详细 教程 Redis——事务与锁机制 1. Redis的事务定义 Redis 事务是一个单独的隔离操作&#xff1a;事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中&#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…

D-024 VGA硬件电路设计

VGA硬件电路设计1 简介2 引脚定义3 硬件电路实战4 硬件设计要点1 简介 VGA&#xff08;Video Graphic Arrary&#xff09;即视频图形阵列&#xff0c;是 IBM(国际商业机器公司)在 1987 年随 PS/2 机一起推出的使用模拟信号的一种视频传输标准&#xff0c;在当时具有分辨率高、…

基于STM32的智能GPS定位系统(云平台、小程序)

背景及目标 前阵子&#xff0c;准确的说是好几个月前买了一辆电瓶车&#xff0c;当时呢因为车停得很随意&#xff0c;所以想给小电驴装一个GPS&#xff0c;一方面是防盗&#xff0c;另一方面是为了测速和绘制骑行轨迹&#xff0c;要是能联动电瓶车状态远程监测就更好了。当然我…

马上年末了,你还不会写测试总结吗?

最近参与了几次面试&#xff0c;面试者的简历中都会提及&#xff1a;需求或者版本测试结束后会进行测试总结&#xff0c;不仅仅提供一份测试报告以及相关文档手册。 于是特意追问了一下&#xff0c;测试总结中都包含什么内容。 答复上基本都是&#xff1a;执行了多少用例、发…

帝国cms漏洞分析前台XSS漏洞

帝国cms漏洞分析前台XSS漏洞 一、帝国cms漏洞描述 该漏洞是由于javascript获取url的参数,没有经过任何过滤,直接当作a标签和img标签的href属性和src属性输出。 二、帝国cms漏洞复现 1、需要开启会员空间功能(默认关闭),登录后台开启会员空间功能。 2、漏洞出现的位置在/…

AR+GIS赋能地下管线,匹配真实位置

地下管线是城市运行的生命线&#xff0c;对保障城市运行起到至关重要的作用。但是地下管线都埋藏于地下看不见&#xff0c;摸不着&#xff0c;当工程师需要查看或者检修地下管线时往往就不那么方便了&#xff0c;经常发生破坏地下管线的事故&#xff0c;那有没有什么技术可以让…

122页6万字消防大数据平台建设方案

目 录 第1章 设计说明 1.1 工程概述 1.1.1 工程名称 1.1.2 承建单位 1.1.3 建设目标 1.1.4 建设内容 1.1.5 建设规模 1.1.6 建设周期 1.2 设计依据 1.3 相对可行性研究报告批复的调整情况 1.4 合理化建议 1.4.1 统一、开放的通讯协议标准 1.4.2 充分利用联网单位消…

Git分支管理,运维知道吗?

需求 对于代码的管理&#xff0c;不知你是否遇到过以下几种情况&#xff1a; 存在多种版本管理工具&#xff0c;如svn、git&#xff0c;无法做到代码统一管理&#xff1b;多人协作开发&#xff0c;代码合并冲突频发&#xff1b;分支管理混乱&#xff0c;存在很多个性化分支&a…

常用工具类之spring-boot-devtools热部署

SpringBoot热部署 热部署不会用在生产环境&#xff0c;但对于程序员开发的效率&#xff0c;还是有一定帮助的&#xff0c;所谓的热部署&#xff0c;就是在应用程序在不停止的情况下&#xff0c;实现新的部署 spring-boot-devtools 是一个为开发者服务的一个模块&#xff0c;其中…

JAVA小区门户网站(源代码+论文)

小区门户网站之社区共享 摘 要 随着计算机的不断发展和广泛应用&#xff0c;人们的工作效率得到不断的提高。互联网的发展&#xff0c;更是缩短了人们之间的距离。如何充分利用互联网&#xff0c;这是大家共同关心的问题。本文主要介绍了关于小区门户网站之社区共享的实现方法…

【GD32F427开发板试用】IAR flash loader 下载GD32F427流程简要分析

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动&#xff0c;更多开发板试用活动请关注极术社区网站。作者&#xff1a;andeyqi 很高兴获的社区的GD32F427开发板的评测机会&#xff0c;这几年芯片慌大家都能感受到&#xff0c;项目上经常因为货源紧张不断更换替代…

java面向对象 继承 多态

目录 继承性(inheritance) 为什么要有继承&#xff1f; 作用&#xff1a; 继承举例 方法的重写 重写举例 四种访问权限修饰符 关键字—super 关键字super举例 调用父类的构造器 调用父类构造器举例 子类对象的实例化过程 多态性 概念 使用 多态性应用举例 虚…

探花交友_第6章_圈子互动(新版)

探花交友_第6章_圈子互动&#xff08;新版&#xff09; 文章目录探花交友_第6章_圈子互动&#xff08;新版&#xff09;课程说明1. 动态查询1.1 查询好友动态1.1.1 接口文档1.1.2 代码步骤1.1.3 代码实现tanhua-app-server**MovementController****MovementService**tanhua-dub…

centos7磁盘挂载及目录扩容

centos7磁盘挂载及目录扩容1. Linux文件系统介绍1.1 ext21.2 ext41.3 xfs2. 查看磁盘现状2.1 查看硬盘情况2.2 查看磁盘挂载情况3. 磁盘挂载3.1 mount挂载3.2 通过UUID来进行挂载4. 目录扩容5. 参考资料项目申请的服务器资源&#xff0c;初始化阶段&#xff0c;运维人员未及时考…