移动端:UI图px单位转换rem单位的计算方法
简单说一下 em
em 单位是相对于父元素字体大小来去定的。比方说:
font-size:12px;
元素宽度是2em;
那么实际的宽度是 24px.(具体为什么,可以去查询资料,今天主讲rem)
简单说一下 rem
rem 是相对于根元素(html)字体大小来确定的。比方说:
宽度 字体
手机A: 320px 14px
手机B: 460px ?
为了能达到可以同等比的放大缩小,那么,可以进行很简单的运算:?=14*460/320
得到:?=20.125px;
UI图上的px转化成实际操作的rem计算方法
- 第一步:设计标签的基准值,随意,想定多少定多少。随意定:20px
- 第二步:看看UI同事给你的图,宽度是多少?一般UI给图都是会给大一点,因为大图切下来,当屏幕小点,不会失真,但是小图要是放大了,就不太好看了。。。比方说,
一张图 宽度749px 高度234px; 你的浏览器模拟器以iphone6来定基,也就是宽度为375px;
那么根据等比例缩放,你的模拟器高度为h=375*234/749=117.1562px
那么实际的rem的计算值为:
宽度:375/20 = 18.75rem
高度: 117.1562/20 = 5.8578rem;
- 第三步: 开始进行换算。实际是不同屏幕宽度,只要变换根元素的font-size,即可调整所有的元素宽高显示。而这个,只能通过js来实现
基准屏幕 真实屏幕
宽度 375px clientWidth
字体 20px ?
js代码:
window.onload = function(){
document.documentElement.style.fontSize = 20*document.documentElement.clientWidth/375 + 'px'
}
- 第四步:检验你的页面。
题外话
现在有很多可以直接计算rem值的插件,不用你每次宽高都去算一下,不然那样是会活不下去的。具体实现可以看这篇文章https://www.cnblogs.com/jf-67/p/7171830.html
移动端:UI图px单位转换rem单位的计算方法的更多相关文章
- vue换算单位px自动转换rem
cnpm i postcss-px2rem --save cnpm install px2rem-loader --save 2.配置px2rem build目录下vue-loader.conf.js ...
- 自动把网页px单位转换成rem
自动把网页px单位转换成rem 首先在你的项目开发环境中安装2个插件 然后在vue.config.js文件引入并重新启动服务器 这样就配置成功了,一起看看效果
- 淘宝、网易移动端 px 转换 rem 原理,Vue-cli 实现 px 转换 rem
在过去的一段时间里面一直在使用Vue配合 lib-flexible和px2rem-loader配合做移动端的网页适配.秉着求知的思想,今天决定对他的原理进行分析.目前网上比较主流使用的就是淘宝方 ...
- 移动端rem单位和px单位换算
rem单位是根据html元素的单位在页面根据不同的手机屏幕分辨率动态整体的按比例缩小或放大字体. 假如html{font-size: 14px;},那么1rem=14px; 一个div宽度48px,那 ...
- gulp.spritesmith修改px为rem单位
移动端开发中,使用gulp.spritesmith进行小图sprite并生成样式,但由于spritesmith默认是以px为单位,所以就把插件的内容修改了下让生成rem单位并且能把background ...
- [转]彻底弄懂css中单位px和em,rem的区别
难怪会问我 rem 和 em, 这俩或在移动端还是很有必要学习的. root em OK? 国内的设计师大都喜欢用px,而国外的网站大都喜欢用em和rem,那么三者有什么区别,又各自有什么优劣呢? P ...
- 彻底弄懂css中单位px和em,rem的区别
国内的设计师大都喜欢用px,而国外的网站大都喜欢用em和rem,那么三者有什么区别,又各自有什么优劣呢? PX特点 -1. IE无法调整那些使用px作为单位的字体大小: -2. 国外的大部分网站能够调 ...
- 移动端rem单位用法[转]
标签: 1.rem(font size of the root element)是指相对于根元素的字体大小的单位,em(font size of the element)是指相对于父元素的字体大小的单 ...
- 彻底弄懂css中单位px和em,rem的区别 转的自己看
国内的设计师大都喜欢用px,而国外的网站大都喜欢用em和rem,那么三者有什么区别,又各自有什么优劣呢? PX特点 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的 ...
随机推荐
- poj2139 Six Degrees of Cowvin Bacon
思路: floyd 实现: #include <iostream> #include <cstdio> #include <cstring> #include &l ...
- vmware让虚拟机内外网络可互访
以下方法可使主机可以ping通虚拟机,虚拟机也可以ping通主机 首先对虚拟机设置 然后设置虚拟机,假设主机的ip是10.0.0.9,那虚拟机的ip应如下设置: 其中ip地址任意设置一个,但要求跟主机 ...
- Xilinx HLS
Xilinx 的高层次综合(High Level Synthesis, HLS)技术是将C/C++/SystemC软件语言转换成Verilog或VHDL硬件描述语言的技术.现已应用在SDAccel,S ...
- 关于dzzoffice 破解版
最近看到很多人在搜索dzzoffice破解版,其实dzzoffie是一款全开源的产品,开放的功能是与演示站中一摸一样的,所以并不会有人破解这种全开源的系统.那么为什么会有人搜索这样的关键词呢? 可能大 ...
- subprocess使用小方法
import subprocess def create_process(cmd): p = subprocess.Popen(cmd, shell=True, stdout=subp ...
- mysqldump 使用详解
基本的使用方法总结: 1 导出所有库 系统命令行 mysqldump -uusername -ppassword --all-databases > all.sql 2 导入所有库 mysql ...
- elasticsearch时间格式DateFormat的含义
时间格式 枚举(或者英文)format pattern 含义 custom - 自定义属性 none - 不转化 basic_date yyyyMMdd 基本时间 basic_date_time ...
- 基于VueJS的render渲染函数结合自定义组件打造一款非常强大的IView 的Table
基于VueJS的render渲染函数结合自定义组件打造一款非常强大的IView 的Table https://segmentfault.com/a/1190000015970367
- C# 关于datetime的用法(网上考的)
实例: 用户输入一个日期,要求输出这个日期是星期几和在这一年中的第几天: 复制代码代码如下: //声明一个DateTime类型的变量用于存放用户输入的日期DateTime dt;Console.Wri ...
- 模拟--P1540 机器翻译
题目连接 题目背景 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章. 题目描述 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换.对于每个英文单词 ...