为什么要使用rem

  移动端设备尺寸五花八门,单纯使用px这个单位无法轻易适配,rem就可以为我们解决这个问题!

如何使用rem

  1rem默认等于16px,这是因为页面的默认字体大小就是16px。r 代表rootelement,因此只要修改html的font-size大小,就可以更改1rem的大小!

叮嘱UI设计师

  移动端的设计稿尺寸要做成640*750的!移动端的设计稿尺寸要做成640*750的!移动端的设计稿尺寸要做成640*750的!重要的事情说三遍!(640固定,高度可变)

当拿到图后

  一般人会人为将设计图按宽度方向分为若干份(不固定,好算即可),例如640宽的设计稿,分为20份,640/20 = 32,则32就作为设计稿中rem的单位,1rem就等于32px ,则在设计稿中量到一个宽度为100px的元素,实际项目就是 100/32 rem(就是将设计图中测量出来的尺寸转化为rem的值)

  因此,在不同的设备中我们只需要去动态设置html的font-size = 设备宽度 / 20 (20是刚刚你分的份数)

  以下代码直接在页面中写,而且要写在页面顶部,js要在页面打开时立刻执行!

 <script type="text/javascript">
 // 根据屏幕的宽度 来设置 html的 font-size
 // 计算 font-size
 var fontSize = window.screen.availWidth / 20;
 document.querySelector('html').style.fontSize = fontSize + 'px';
   //浏览器窗口被调整时执行
 window.onresize = function () {
// 计算 font-size
var fontSize = window.screen.availWidth / 20;
document.querySelector('html').style.fontSize = fontSize + 'px';
 }
</script>

移动web开发之rem的使用的更多相关文章

  1. 移动web开发之rem适配布局

    移动web开发之rem适配布局 方案: 页面布局文字能否随着屏幕大小变化而变化 流式布局和flex布局主要针对于宽度布局,那高度如何布局? 怎样让屏幕发生变化的时候元素高度和宽度等比例缩放? 1. r ...

  2. Vim下的Web开发之html,CSS,javascript插件

    Vim下的Web开发之html,CSS,javascript插件   HTML 下载HTML.zip 解压HTML.zip,然后将里面的所有文件copy到C:\Program Files\Vim\vi ...

  3. Web开发之Tomcat&Servlet

    <!doctype html>01 - JavaEE - Tomcat&Servlet figure:first-child { margin-top: -20px; } #wri ...

  4. web app开发之rem

    CSS3新增了一个相对单位rem,官方的解释为“font size of the root element”,相对于根元素(html)的font size. rem,em,px单位的区别: rem单位 ...

  5. webApp移动开发之REM

    最近发现一偏很好的文章,关于webAPP开发REM 一个css单位: 来自腾讯ISUX; web app变革之rem

  6. .NET Web开发之.NET MVC框架

    摘要:MVC是一种架构设计模式,该模式主要应用于图形化用户界面(GUI)应用程序.那么什么是MVC?MVC由三部分组成:Model(模型).View(视图)及Controller(控制器). MVC概 ...

  7. HTML5+JS手机web开发之jQuery Mobile初涉

    一.起始之语 我一直都是在PC上折腾网页的,这会儿怎么风向周边捣鼓起手机网页开发呢?原因是公司原先使用Java开发的产品,耗了不少人力财力,但是最后的效果却不怎么好.因为,Android系统一套东西, ...

  8. Web开发之Cookie and Session

    会话 什么是会话? 简单说:用户开一个浏览器,点击多个超链接,访问服务器的多个web资源,然后关闭浏览器,整个过程就称之为一个会话. 会话过程要解决什么问题 每个用户在使用浏览器与服务器进行会话的过程 ...

  9. Web开发之response

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象. 我们要获取客户机提交过来的数据,只需要找request对象就行 ...

随机推荐

  1. 用DirectDraw封装的位图动画类

    头文件 [cpp] view plaincopyprint? #pragma once #include <vector> using namespace std; #include &l ...

  2. FusionWidgets之AngularGauge图

    1.设置AngularGauge图的数据源 AngularGauge.xml: <?xml version="1.0" encoding="UTF-8"? ...

  3. echarts中的option.legend.data has not been defined.

    1.错误描述 2.错误原因 var map = function(mapData){ require( [ 'echarts', 'echarts/chart/map' ], function (ec ...

  4. zTree实现地市县三级级联DAO接口

    zTree实现地市县三级级联DAO接口 ProvinceDao.java: /** * @Title:ProvinceDao.java * @Package:com.gwtjs.dao * @Desc ...

  5. 芝麻HTTP:Python爬虫利器之Xpath语法与lxml库的用法

    安装 ​pip install lxml 利用 pip 安装即可 XPath语法 XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对元素和属性进行遍历.XPat ...

  6. 小程序版好友对战实战-wss部署与小程序用户登录时序

    上一篇文章是对需求的分析,本次将逐渐进入代码阶段.本次主要的内容包括服务端wss的部署以及小程序端用户授权的时序及逻辑. wss的配置与部署 微信小程序出于安全考虑,要求所有涉及到网络的操作,必须使用 ...

  7. docker学习系列(一):docker 基础

    一.简介 开发当中比较麻烦的问题在于软件配置,每个人的机械以及系统都不尽相同,程序需要运行在系统当中需要配置好相应的系统以及各种依赖的组件,但是很多时候由于各种软件依赖包的版本,系统兼容性问题会导致程 ...

  8. Css多列语法笔记

    columns多列属性定义: column-width:规定列的宽度(此宽度是缩放scale以后的最小宽度): column-count:规定元素被分隔的列数: column-rule设置所有colu ...

  9. 【BZOJ3130】费用流(最大流,二分)

    [BZOJ3130]费用流(最大流,二分) 题面 Description Alice和Bob在图论课程上学习了最大流和最小费用最大流的相关知识. 最大流问题:给定一张有向图表示运输网络,一个源点S和一 ...

  10. 【WC2001】【cogs358】高性能计算机(动态规划)

    [WC2001][cogs358]高性能计算机(动态规划) ##题面 [问题描述] 现在有一项时间紧迫的工程计算任务要交给你--国家高性能并行计算机的主管工程师--来完成.为了尽可能充分发挥并行计算机 ...