px:相对长度单位。像素px是相对于显示器屏幕分辨率而言的

em:相对单位,继承父节点(层层继承,传递)基准点为父节点字体的大小,如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值。

rem:相对单位,相对长度单位。r’是“root”的缩写,相对于根元素<html>的字体大小, 可理解为”root em”, 相对根节点html的字体大小来计算,CSS3新加属性,chrome/firefox/IE9+支持。

(另外需注意chrome强制最小字体为12号,即使设置成 10px 最终都会显示成 12px,当把html的font-size设置成10px,子节点rem的计算还是以12px为基准,所以网上很多文章提到的将html的font-size设为10方便计算不是那么可取)。

rem在移动端应用可参考淘宝的页面http://m.taobao.com (html的font-size通过动态计算获取)

注:需设置meta缩放比1:1
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />

vw:viewpoint width,视窗宽度,1vw等于视窗宽度的1%。
vh:viewpoint height,视窗高度,1vh等于视窗高度的1%。
vmin:vw和vh中较小的那个。
vmax:vw和vh中较大的那个。

vw, vh, vmin, vmax:IE9+局部支持,chrome/firefox/safari/opera支持,iOS safari 8+支持,Androidbrowser4.4+支持,chrome for android39支持

其它的单位还有:
%:百分比
in:寸
cm:厘米
mm:毫米
pt:point,大约1/72寸

pc:pica,大约6pt,1/6寸

ex:取当前作用效果的字体的x的高度,在无法确定x高度的情况下以0.5em计算(IE11及以下均不支持,firefox/chrome/safari/opera/ios safari/android browser4.4+等均需属性加么有前缀)

ch:以节点所使用字体中的“0”字符为基准,找不到时为0.5em(ie10+,chrome31+,safair7.1+,opera26+,ios safari 7.1+,android browser4.4+支持)

(1)怎样计算rem
先设置font-size:的px

html {

  font-size:100px;(也可以设置百分比)

}

body {

  font-size:14px;(可以改变)

}

p {

  //假如屏幕宽度是320px,那么字号是7px;

  font-size:7px;

}

计算过程:

标准 640px   font-size:100px 设置字号 font-size:14px;则rem为0.14,即1rem=100px

屏幕宽度 改变为320px  那么font-size:变成50px  rem为0.14  则设置字号 font-size:50*0.14=7px

(2) rem(App)

html {

  font-size:15.625vw;(就是宽度640的手机)

}

body {

  font-size:12px; // font-size会被继承, 为了避免后来修改font-size修改不来,就在body加上font-size:12px

}

最好按照宽度为320来计算,640相当于分成100份,那么320就分成50份,也就是说,原本有一个div宽度和高度都为50px,现在他们的宽度和高度都为1rem,不过得要美工给出的稿子要符合一定的规则才行。

额外说点:美工给的设计稿有两种,一种是宽度是640px(小屏),然后适应各种手机屏幕宽度,就是说内容扩大了,缺点会变得模糊;一种是宽度750px(中屏),然后适应各种手机屏幕宽度,适应各种手机屏幕比较好

最新文章

  1. C#实现 Eval
  2. 软件测试—— junit 单元测试
  3. reds pub/sub官方文档翻译
  4. 第九章 Mass Storage设备
  5. .net转php laraval框架学习系列(三)项目实战---Route&amp;Controllers
  6. Linux(Ubuntu)下载安装破解Matlab2016
  7. w3c编程挑战-初级脚本算法
  8. 开源个.NetCore写的 - 并发请求工具PressureTool
  9. centos7 yum 安装mariadb
  10. ubuntu常用命令备忘
  11. SQL之CASE WHEN用法详解[1]
  12. servlet篇 之 servlet的访问
  13. Python_str 的内部功能介绍
  14. android 环境的配置
  15. JS BOM DOM对象 select联动 计时器 时间 css操作 节点(标签 ) 查找标签 {前端基础之BOM和DOM}
  16. Spring MVC数据绑定
  17. 一次Web请求返回406原因与解决方案
  18. 关于scanf的算法(位操作)
  19. 自定义View和ViewGroup(有这一篇就够了)
  20. windows 2003 发布遇到问题---分析器错误消息: 未能加载类型“YWPT.MvcApplication”。

热门文章

  1. JAVA 使用qq邮箱发送邮件
  2. C++字符串操作库函数
  3. Android 开发人员必须掌握的 10 个开发工具
  4. 【bzoj2815】灾难[ZJOI2012](拓扑排序+lca)
  5. JBOSS invoker GETSHELL(PHP版)
  6. 利用PushbackReader读取文件中某个字符串之前的内容
  7. NSRegularExpression iOS自带的正则表达式
  8. 机器学习(六)—随机森林Random Forest
  9. 原生js模态框实现
  10. 一个丰富的通知工具类 --第三方开源--NotifyUtil