一、什么是rem

rem(font size of the root element)是指相对于根元素`的字体大小的单位。它就是一个相对单位。

px:一个绝对单位

em:一个相对单位,根据的是当前盒子的font-size

rem:一个相对单位,根据当前页面html的font-size改变

二、rem单位开发步骤

1.首先跟距UI图大小找到模拟器窗口

750pxUI图对应iphone6/7/8的手机,640UI图对应iphone5/SE的手机。

如果是750宽的UI图,需要切换到iphone6/7/8模式进行页面开发预览

如果是640宽的UI图,需要切换到iphone5/5s模式进行页面开发预览

因为最终完成开发之后,UI人员会对UI图所对应的真机效果做首次验收,所以我们开发时的模拟器必须要和UI图对应的真机保持一致!!

禁止调到Responsive中去调试。

2.引入淘宝flexible.js文件

默认是将屏幕分成10等份。375屏幕下html的font-size是37.5,即1rem = 37.5px;320屏幕下html的font-size是32,即1rem = 32px。

效果如下



3. 确定哪些元素的尺寸需要用到rem适配

1.原本通过弹性盒子或者百分比就可以将横向盒子排布好的情况一定是不需要用rem改写的。
2.字体的大小,边距padding一般也不用rem单位做适配的,因为现在主流的设计理念是大屏幕可以看到更多的内容,而非看到更大的内容(说的白话一点,小屏下我看到4个14px的文字,大屏幕我想看到8个14px的文字,而不是看到4个20px的大字)
3.高度上用rem适配的情况相对多一些,活动页面需求需要用到rem单位的情况很多,总之将所有的单位都用rem写是过于粗暴且不符合设计规范的,不需要它的地方直接使用绝对像素px即可

4.案例说明

在750UI图下测量一个373*211大小的盒子

直接放上去会失真

将宽高都除2

转换rem

4.2 插件使用px2rem

1.修改插件值为1rem对应的px(建议)



不管是rem和px都需要手动在/2

2.将插件值修改为1rem对应的px再乘2



rem不需要再/2,px仍然需要手动/2

弊端:当你需要一个正常的盒子时,需要2才能得到正常大小



需要手动
2

07-rem的更多相关文章

  1. Android5.0如何正确启用isLoggable(二) 理分析

    转自:http://www.it165.net/pro/html/201506/43374.html 概要 在上文<Android 5.0 如何正确启用isLoggable(一)__使用详解&g ...

  2. NetAnalyzer笔记 之 五 一些抓包技巧分享(不定期更新)

    [创建时间:2016-03-12 10:00:00] [更新时间:2016-05-21 10:00:00] NetAnalyzer下载地址 前一段时间应为工作关系,NetAnalyzer笔记系列已经很 ...

  3. 本地图片上传与H5适配知识

    最近用到本地图片上传作为API的参数,在网上看了许多,记录一下,以后可能用的着(仅自己记录用,看不清请绕路) function getObjectURL(file) { var url = null ...

  4. 07. 如何实现移动端rem适配

    如何实现移动端rem适配 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  5. [转]响应式网页设计:rem、em设置网页字体大小自适应

    本文转自:http://www.cnblogs.com/aimyfly/archive/2013/07/19/3200742.html 「rem」是指根元素(root element,html)的字体 ...

  6. 关于响应式、媒体查询和media的关系 、流媒体布局flex 和em rem像素的使用 我有一些废话要讲.....

    一.什么是响应式 随着移动端越来遇火 网站的布局成为一个热议的话题 有的人喜欢用手机浏览网站.有的人喜欢用paid浏览网站.有人喜欢用电脑浏览网站 那么问题来了 我们怎么样才能使用一套css样式 完成 ...

  7. Rem & Viewport

    Rem布局 rem就是给根元素设置一个基准值 然后其他元素都以这个基准值作为单位 那么就可以在不同的手机上做出相同比例的元素了 事实上和百分比是同样的道理 网易和淘宝的rem 参考 http://ww ...

  8. C#使用AppDomain时的异常分析:Object ‘XXXX.rem’ has been disconnected or does not exist at the server.

    在使用C#的应用程序域的时候,碰到这么一个异常: System.Runtime.Remoting.RemotingException: Object ‘/76e7cd41_2cd2_4e89_9c03 ...

  9. 移动端rem计算

    教你如何用 lib-flexible 实现移动端H5页面适配 2017年07月22日 16:01:24 Pwcong 阅读数:18872    版权声明:本文为博主原创文章,未经博主允许不得转载. h ...

  10. 移动端适配方案-rem(基础篇)

    常见移动web适配方案一般有3种方法,如下图: ①:定高,宽度百分比(一般用来做一些适配性不高的页面,比如主要以一些文字和图片为主的网页或移动端的头部和底部) ②:flex (更多的用于复杂页面的布局 ...

随机推荐

  1. Springboot使用Undertow

    Springboot使用Undertow Undertow 是红帽公司开发的一款基于 NIO 的高性能 Web 嵌入式服务器 Undertow的特点: 轻量级:它是一个 Web 服务器,但不像传统的 ...

  2. Shiro RememberMe 1.2.4 反序列化命令执行漏洞复现

    影响版本 Apache Shiro <= 1.2.4 产生原因 shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:得到rememberMe的cook ...

  3. u库前戏

    u库 ORM:对象关系映射 类 >>> 数据库的一张表 对象 >>> 表的一条记录 对象点属性 >>> 记录某一个字段对应的值 ''' 对象就是一 ...

  4. Selenium系列(七) - 切换iframe

    如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...

  5. effective-java学习笔记---使用实例属性替代序数35

    永远不要从枚举的序号中得出与它相关的值; 请将其保存在实例属性中: public enum Ensemble { SOLO(1), DUET(2), TRIO(3), QUARTET(4), QUIN ...

  6. OpenCV-Python 图像的几何变换 | 十四

    目标 学习将不同的几何变换应用到图像上,如平移.旋转.仿射变换等. 你会看到这些函数: cv.getPerspectiveTransform 变换 OpenCV提供了两个转换函数cv.warpAffi ...

  7. 使用Keras构建深度图像搜索引擎

    动机 想象一下,如果有数十万到数百万张图像的数据集,却没有描述每张图像内容的元数据.我们如何建立一个系统,能够找到这些图像的子集来更好地回答用户的搜索查询? 我们基本上需要的是一个搜索引擎,它能够根据 ...

  8. OpenCV-Python 鼠标作画 | 八

    目标 了解如何在OpenCV中处理鼠标事件 您将学习以下功能:cv.setMouseCallback() 简单演示 在这里,我们创建一个简单的应用程序,无论我们在哪里双击它,都可以在图像上绘制一个圆. ...

  9. Python python 数据类型--集

    # set 集 '''Python还包括集合的数据类型.集合是无序集合,没有重复元素. 基本用途包括成员资格测试和消除重复条目. 集合对象还支持数学运算,如并集,交集,差异和对称差异. ''' nam ...

  10. ES6中async与await的使用方法

    promise的使用方法 promise简介 是异步编程的一种解决方案.从语法上说,Promise 是一个对象,从它可以获取异步操作的消息.解决回调函数嵌套过多的情况 const promise =n ...