简单说一下 em

em 单位是相对于父元素字体大小来去定的。比方说:

    font-size:12px;
元素宽度是2em;
那么实际的宽度是 24px.(具体为什么,可以去查询资料,今天主讲rem)

简单说一下 rem

rem 是相对于根元素(html)字体大小来确定的。比方说:

            宽度            字体
手机A: 320px 14px 手机B: 460px ?
为了能达到可以同等比的放大缩小,那么,可以进行很简单的运算:?=14*460/320
得到:?=20.125px;

UI图上的px转化成实际操作的rem计算方法

  1. 第一步:设计标签的基准值,随意,想定多少定多少。随意定:20px
  2. 第二步:看看UI同事给你的图,宽度是多少?一般UI给图都是会给大一点,因为大图切下来,当屏幕小点,不会失真,但是小图要是放大了,就不太好看了。。。比方说,
    一张图 宽度749px 高度234px;  你的浏览器模拟器以iphone6来定基,也就是宽度为375px;
那么根据等比例缩放,你的模拟器高度为h=375*234/749=117.1562px
那么实际的rem的计算值为:
宽度:375/20 = 18.75rem
高度: 117.1562/20 = 5.8578rem;
  1. 第三步: 开始进行换算。实际是不同屏幕宽度,只要变换根元素的font-size,即可调整所有的元素宽高显示。而这个,只能通过js来实现
                基准屏幕               真实屏幕
宽度 375px clientWidth 字体 20px ? js代码:
window.onload = function(){
document.documentElement.style.fontSize = 20*document.documentElement.clientWidth/375 + 'px'
}
  1. 第四步:检验你的页面。

题外话

现在有很多可以直接计算rem值的插件,不用你每次宽高都去算一下,不然那样是会活不下去的。具体实现可以看这篇文章https://www.cnblogs.com/jf-67/p/7171830.html

移动端:UI图px单位转换rem单位的计算方法的更多相关文章

  1. vue换算单位px自动转换rem

    cnpm i postcss-px2rem --save cnpm install px2rem-loader --save 2.配置px2rem build目录下vue-loader.conf.js ...

  2. 自动把网页px单位转换成rem

    自动把网页px单位转换成rem 首先在你的项目开发环境中安装2个插件 然后在vue.config.js文件引入并重新启动服务器 这样就配置成功了,一起看看效果

  3. 淘宝、网易移动端 px 转换 rem 原理,Vue-cli 实现 px 转换 rem

       在过去的一段时间里面一直在使用Vue配合 lib-flexible和px2rem-loader配合做移动端的网页适配.秉着求知的思想,今天决定对他的原理进行分析.目前网上比较主流使用的就是淘宝方 ...

  4. 移动端rem单位和px单位换算

    rem单位是根据html元素的单位在页面根据不同的手机屏幕分辨率动态整体的按比例缩小或放大字体. 假如html{font-size: 14px;},那么1rem=14px; 一个div宽度48px,那 ...

  5. gulp.spritesmith修改px为rem单位

    移动端开发中,使用gulp.spritesmith进行小图sprite并生成样式,但由于spritesmith默认是以px为单位,所以就把插件的内容修改了下让生成rem单位并且能把background ...

  6. [转]彻底弄懂css中单位px和em,rem的区别

    难怪会问我 rem 和 em, 这俩或在移动端还是很有必要学习的. root em OK? 国内的设计师大都喜欢用px,而国外的网站大都喜欢用em和rem,那么三者有什么区别,又各自有什么优劣呢? P ...

  7. 彻底弄懂css中单位px和em,rem的区别

    国内的设计师大都喜欢用px,而国外的网站大都喜欢用em和rem,那么三者有什么区别,又各自有什么优劣呢? PX特点 -1. IE无法调整那些使用px作为单位的字体大小: -2. 国外的大部分网站能够调 ...

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

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

  9. 彻底弄懂css中单位px和em,rem的区别 转的自己看

    国内的设计师大都喜欢用px,而国外的网站大都喜欢用em和rem,那么三者有什么区别,又各自有什么优劣呢? PX特点 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的 ...

随机推荐

  1. Dapper系列之二:Dapper的事务查询

    Dapepr讲解 上篇文章我们介绍了,什么是Dapepr,有什么好处,性能的对比,还有多表多数据添加操作(事务的封装)等等.本篇文章我们继续讲解.....如果本篇文章看不懂,请看我上一篇文章:Dape ...

  2. AJPFX:不用递归巧妙求出1000的阶乘所有零和尾部零的个数

    package com.jonkey.test; import java.math.BigInteger; public class Test6 { /*** @param args*  需求:求出1 ...

  3. 新手玩CSS中的一些黑科技

    哎哎 1.鼠标移进网页里,不见了= = *{ cursor: none!important; } 2.简单的文字模糊效果 *{ color: transparent; text-shadow: #11 ...

  4. 使用JavaScript给对象修改注册监听器

    我们在开发一些大型前端项目时,会遇到这样一种情况,某个变量上有个字段.我们想知道是哪一段程序修改了这个变量上的字段.比如全局变量window上我们自定义了一个新字段_name,我们想知道到底有哪些程序 ...

  5. 【C++】cerr,cout,clog

    http://stackoverflow.com/questions/16772842/what-is-the-difference-between-cout-cerr-clog-of-iostrea ...

  6. django 数据库的一些操作

    1.数据过滤: 使用filter()方法 >>> Publisher.objects.filter(name='Apress') [<Publisher: Apress> ...

  7. 使用Spring AOP切面解决数据库读写分离

    http://blog.jobbole.com/103496/ 为了减轻数据库的压力,一般会使用数据库主从(master/slave)的方式,但是这种方式会给应用程序带来一定的麻烦,比如说,应用程序如 ...

  8. JSP常用的几种跳转方式

    一, 使用href超链接标记              (客户端跳转) 二, 提交表单                           (客户端跳转) <form name="fo ...

  9. pc端移动端兼容的大图轮播

    body, html { width: 100%; } * { margin:; padding:; list-style: none; } .haha { list-style-type: none ...

  10. MySQL配置索引页的合并阈值

    MySQL配置索引页的合并阈值 如果删除行或者通过UPDATE操作缩短行 可以为索引页面配置MERGE_THRESHOLD值. 当delete与update缩短了行长度时,索引页的"page ...