rem单位大家可能已经很熟悉,rem是随着html的字体大小来显示代表宽度的方法,我们怎样进行移动端响应式开发呢

浏览器默认的字体大小为16px 及1rem 等于 16px

如果我们想要使1rem等于 12px 只需设置html的字体大小为 12/16 及html的字体大小为font-size:75%

html {
 font-size:75%;    <!--  12/16   -->
}

我们再来看一下各个浏览器的屏幕宽度

iphone4  320

iphone5  320

iphone6  375

iphone6p  414

大部分的安卓手机屏幕显示宽度为 360

我们公司的设计是以iphone6为基础设计的 及以375的为准设计的

如果想在 iphone其他版本中按iphone6比例自动缩放那么我们需要进行简单的缩放运算,同时也以1rem等于12px为例

iphone4  320/375*75%  = 64%

iphone5  320/375*75%   = 64%

iphone6  375/375*75%    =75%

iphone6p 414/375*75%    =82.8%

安卓         360/375*75%    =72%

我们可以这样设置在不同媒体中的字体的rem比例 由于安卓和iphone6区别较小,所以设置时忽略其差异

html {
-webkit-text-size-adjust: none;
font-size:75%;
height: 100%; } @media screen and (min-width: 10px) and (max-width: 320px) {
html {
font-size: 64%; } } @media screen and (min-width: 414px) and (max-width: 768px) {
html {
font-size: 82.8%; } }
/*字体大小 直接换算出10到20的字体大概代表多少rem 设置字体大小直接用class代替*/ .s10{font-size:0.83rem;}
.s11{font-size:0.913rem;}
.s12{font-size:1rem;}
.s13{font-size:1.079rem;}
.s14{font-size: 1.162rem;}
.s15{font-size: 1.245rem;}
.s16{font-size: 1.33rem;}
.s17{font-size:1.411rem ;}
.s18{font-size: 1.5rem;}
.s20{font-size: 1.66rem;}

用心了解以上内容在应用rem中会得心应手

移动端使用rem同时适应安卓ios手机原理解析,移动端响应式开发的更多相关文章

  1. 移动端开发之响应式开发和bootstrap基础

    响应式开发 (就是利用媒体查询针对不同宽度的设备进行布局和样式的设置,从而设配不同设备的目的) 响应式布局容器响应式需要一个父级作为布局容器,来配合子级元素来实现变化效果 原理:不同屏幕下,通过媒体查 ...

  2. 安卓&IOS 手机添加O365 邮箱账户

    手机添加O365 邮件账户 一.Android手机添加O365邮件账户 1. 找到手机上“电子邮件” 2. 打开设置 3. 点击添加账户 4. 选择“Exchange” 5. 输入O365的邮箱账户和 ...

  3. 用rem来做响应式开发

    强烈推荐这篇文章:<web app 变革之rem> px转rem工具:<px转rem工具> 由于最近在做公司移动项目的重构,因为要实现响应式的开发,所以大量使用到了rem的单位 ...

  4. 用rem来做响应式开发(转)

    由于最近在做公司移动项目的重构,因为要实现响应式的开发,所以大量使用到了rem的单位,觉得这个单位有点意思.但是现在貌似用他的人很少.上一篇文章我分享了淘宝写的一篇rem的介绍,介绍的非常全面,但是他 ...

  5. rem布局完成响应式开发,通俗且详细的原理解析和代码实现

    一.rem布局基本原理 原理:rem可以理解为一个长度单位,单位rem的值等于网页font-size的值.如果网页的字体大小为默认值16px,那么1rem就等于16px,0.5rem等于8px. 根据 ...

  6. 用rem做响应式开发

    设置对应的响应式的html rem比例 rem就是根元素(即:html)的字体大小.html中的所有标签样式凡是涉及到尺寸的(如: height,width,padding,margin,font-s ...

  7. iOS架构:MVVM设计模式+RAC响应式编程

    https://cloud.tencent.com/developer/article/1117009 一:为什么要用MVVM? 为什么要用MVVM?只是因为它不会让我时常懵逼. 每次做完项目过后,都 ...

  8. rem、px、em之间的区别以及网页响应式设计写法

    个人收藏用,转载自:http://www.w3cplus.com/css3/define-font-size-with-css3-rem 在Web中使用什么单位来定义页面的字体大小,至今天为止都还在激 ...

  9. CSS3移动端vw+rem不依赖JS实现响应式布局

    1.前言 (1)vw/vh介绍 在使用之前,我们先简单了解一下什么是vw和rem以及它们的作用,vw是css3出现的一个新单位,它是"view width"缩写,定义为把当前屏幕分 ...

随机推荐

  1. Anaconda配置多spyder多python环境

    作者:桂. 时间:2017-04-17  22:02:37 链接:http://www.cnblogs.com/xingshansi/p/6725298.html  前言 最近在看<统计学习方法 ...

  2. SysTick定时器

    SysTick是一个24位的倒计数定时器,当计到0时,将从RELOAD寄存器中自动重装载定时初值.只要不把它在SysTick控制及状态寄存器中的使能位清除,就永不停息.下边小结了SysTick的相关寄 ...

  3. angular apply

    <div ng-controller="firstController"> {{date}} </div> <script> var first ...

  4. GitHub上非常受开发者欢迎的iOS开源项目(二)

    "每一次的改变总意味着新的开始."这句话用在iOS上可谓是再合适不过的了.GitHub上的iOS开源项目数不胜数,iOS每一次的改变,总会引发iOS开源项目的演变,从iOS 1.x ...

  5. 【转】JDBC学习笔记(2)——Statement和ResultSet

    转自:http://www.cnblogs.com/ysw-go/ Statement执行更新操作 Statement:Statement 是 Java 执行数据库操作的一个重要方法,用于在已经建立数 ...

  6. Python 三级菜单与优化(一层循环嵌套)

    优化的思路是使用单层循环嵌套完成三级菜单,这个优化思路我非常喜欢,我喜欢在编程的时候用最少的东西写出同样的效果,通常这样会绕来绕去,但非常有趣!!! 需求: 1.运行程序输出第一级菜单: 2.选择一级 ...

  7. VueJS实现一个货币结算自定义控件

    Vue.component('currency-input', { template: '\ <div>\ <label v-if="label">{{ l ...

  8. Kafka协议兼容性改进

    在Kafka 0.10.2.0之前,Kafka服务器端和客户端版本之间的兼容性是"单向"的,即高版本的broker可以处理低版本client的请求.反过来,低版本的broker不能 ...

  9. PHP die() 函数

    die() 函数输出一条消息,并退出当前脚本. 该函数是 exit() 函数的别名.

  10. AspNetCore-MVC实战系列(四)之结尾

    AspNetCore - MVC实战系列目录 . 爱留图网站诞生 . git源码:https://github.com/shenniubuxing3/LovePicture.Web . AspNetC ...