一 什么是rem?

“font size of the root element 这是w3c的定义

也就是说是相对于根节点(html节点)的字体大小的单位。

目前主流的浏览器基本都支持rem这个单位,大部份的默认字体单位是16px。

图片摘自 http://caniuse.mojijs.com/Home/Html/item/key/rem/index.html

 二 简单应用。

既然确定在各个主流浏览器都能食用的话,我们就放心大胆在移动端进行开发了。

举个例子说明

html{
font-size:62.5%; /* 10÷16=62.5% */
}
p{
font-size:14px;
font-size:1.4rem;
}

由于我们选定的浏览器默认字体为16px,将根节点html设置为 font-size:62.5%;,这样换算下来的话 1rem = 10px ,在单位的计算方便将会方便很多。

三 响应式使用。

在实际开发过程中,不论是移动端还是pc端都要兼容各种分辨率的设备,所以实际尺寸是要响应式的。

假如说上个例子的62.5%是基于iPhone5的尺寸,也就是说是320*568的尺寸

如果是ipad尺寸的时候,只要相应的扩大倍数即可

@media only screen and (min-width: 768px){
html {
font-size: 150%!important;
}
}

注:利用媒体查询,可根据自己的实际需要,设定不同的尺寸。

四 rem的进阶使用

先甩上地址 https://github.com/amfe/lib-flexible

说起移动端适配,怎么能少了淘宝的移动端~

这个教程足够详细了(如果绝对还不够的话,可以参考下这个地址  https://github.com/amfe/article/issues/17 ,其中还有现成的demo)。

在引入flexible.js过后,关于px转成rem的方法:

在sublime中是有直接转换的插件,有兴趣的童鞋可以去研究下。

在sass/less预编译下也可快速计算当前尺寸。

浅谈移动端rem的用法的更多相关文章

  1. 浅谈移动端适配-rem

    对于移动端开发来说,无可避免的就是直面各种设备不同分辨率和不同DPR(设备像素比)的问题,在此忽略其他兼容性问题的探讨. 一. 移动端开发有关于像素的概念: 1.设备像素(dp),也叫物理像素.指设备 ...

  2. 浅谈css3长度单位rem,以及移动端布局技巧

    rem是什么? rem是css3中新增加的一个单位属性(font size of the root element),根据页面的根节点的字体大小进行转变的单位.root!!!!!!!!!根节点,也就是 ...

  3. 移动端rem单位用法[转]

    标签: 1.rem(font size of the root element)是指相对于根元素的字体大小的单位,em(font size of the element)是指相对于父元素的字体大小的单 ...

  4. 移动端rem的用法

    标签: 1.rem(font size of the root element)是指相对于根元素的字体大小的单位,em(font size of the element)是指相对于父元素的字体大小的单 ...

  5. 移动端rem单位用法

    1.rem(font size of the root element)是指相对于根元素的字体大小的单位,em(font size of the element)是指相对于父元素的字体大小的单位.它们 ...

  6. 浅谈移动端之touch事件--手指的滑动事件

    今天台风‘海马’袭击深圳,全市停工.现分享一篇关于touch的文章,望指教! 原理: 当开始一个touchstart事件的时候,获取此刻手指的横坐标startX和纵坐标startY: 当触发touch ...

  7. VC++ 浅谈VS2010中CMFCToolBar的用法

    本文将给大家介绍Visual Studio 2010中CMFCToolBar的用法,CMFCToolBar可以让用户自定义工具栏图标,使用静态成员函数SetUserImages()将一个CMFCToo ...

  8. 开园子啦(浅谈移动端以及h5的发展)

    一.前言 一直以来都梦想着写几篇博客,忙于工作一直也没有抽出时间来写一下.看看大熊君.小v君等都在努力写博客,我这个不太善于言表的少年,也是在忍不住了.否则会被人家拉下更远.先简单介绍一下自己,目前我 ...

  9. 浅谈dynamic的简单使用用法

    今天看了博客园里面的dynamic用法,我犹豫从来没接触过,今天恶补了一下,把我对dynamic的认识分享了出来,大家一起学习. Visual C# 2010 引入了一个新类型 dynamic. 该类 ...

随机推荐

  1. Struts1.x 环境搭建和技术准备(上)

    Struts 1.x 基于 Servlet,Struts 2.x基于Filter 1.servlet的注解配置方式和web.xml配置方式 使用servelt 3.0,eclipse在创建seb项目是 ...

  2. JavaScript tips:数组去重

    1.实现目标:数组去重 2.实现思路: (1)创建新数组. (2)遍历原数组,判断当前被遍历元素是否存在于新数组,如果存在于新数组,则判断当前被遍历元素是重复的:如果不存在于新数组,则判断当前被遍历元 ...

  3. java实体属性对应mysql和SQL Server 和Oracle 数据类型对应

    1:Java数据类型与MySql数据类型对照表 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) VARCHAR L+N VARCHAR java.lang.String 12 ...

  4. 如何修改SVN客户端中保存的密码

    本文主要讲述Linux命令行下怎么修改已经保存的客户端密码: 第一步,删除 subvision文件: rm -rf ~/.subvision 第二步:执行任意需要访问服务器的svn命令,会提示是否永久 ...

  5. sass 与 less 的区别与学习

    一直使用的都是sass,公司提出新需求要用less,看了一下less的官方文档,感觉记不住.在这我想用与sass的比较学习,加深印象.也希望可以帮助到一些人. 一.安装sass与less sass基于 ...

  6. rsync (windows 服务端,linux客户端)将windows上的数据同步到linux服务器,反之也可

    一:总体概述. 1.windows上面首先装CW_rsync_Server.4.1.0_installer,安装时要输入的用户名密码要记住哦!接下来就是找到rsyncd.conf进入配置细节 2.li ...

  7. Ubuntu 16.04系统下出现E: 无法下载 http://ppa.launchpad.net/fcitx-team/nightly/ubuntu/dists/xenial/main/binary-amd64/Packages 404 Not Found

    在安装完成Chrome浏览器后,终端执行以下更新命令 sudo apt-get update 时出现E: 无法下载 http://ppa.launchpad.net/fcitx-team/nightl ...

  8. 性能测试平台效率优化的一次经验(python版)

    在做性能测试平台的优化过程中,由于启动任务相对其他测试任务比较频繁,而目前30次两个包的交叉对比(30次)测试需要耗时30分钟整,因此打算优先对测试流程做一次优化,将测试时间消耗降低到20分钟. 由于 ...

  9. [转载]或许您还不知道的八款Android开源游戏引擎

    或许您还不知道的八款Android开源游戏引擎         分类:             技术文章              2010-08-04 20:27     17430人阅读     ...

  10. CSV工具类

    分享自己昨天写的CSV工具类, 主要实现解析CSV格式, 直接上代码 #region private /// <summary> /// 从sr当前位置解析一个栏位 /// </su ...