rem怎么计算

摘要:
像素px是相对于显示器屏幕分辨率的em:相对单位,继承父节点的参考点作为父节点的字体大小。如果字体大小是自己定义的,则整个页面中的1em不是固定值。R'是“根”的缩写。相对于根元素的字体大小,它可以理解为“rootem”。它是相对于根节点html的字体大小计算的。CSS3添加了一个新属性,chrome/Firefox/IE9+支持该属性。移动终端上的rem应用,请参考淘宝的页面http://m.taobao.com注意:您需要将元缩放比例设置为1:1<metaname=“viewport”content=“width=device width,initial scale=1.0,maximum scale=2.0,minimum scale=1.0,user scale=no”/˃vw:viewpointwidth,window width 1vw等于窗口宽度的1%。

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(中屏),然后适应各种手机屏幕宽度,适应各种手机屏幕比较好

免责声明:文章转载自《rem怎么计算》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇asp.net web api 测试帮助页面建立并测试Gmail使用全攻略下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

itextPDF使用笔记

最近在做报表打印,使用的是itextPDF,第一次用到它,简单做个笔记。主要涉及到字体设置,文字处理操作,表格及单元格设置,绘制一些图形 IText中有三个处理text的类com.lowagie.text.Chunk,com.lowagie.text.Phrase,com.lowagie.text.Paragraph。 官网的API:https://api...

微信小程序跑步计时器

firstStep:run.wxml <view style="flex-direction:row;"> <image src="http://t.zoukankan.com/resources/joyrun.png" mode="aspectFill"/> <button bindtap="openLocation"...

手把手教你打造一个纯CSS图标库

来,干了这碗安利 写这篇文章的目的其实就是为了安利一下我的图标库:iconoo,所以,开门见山,star吧少年少妇们!(这样的我是不是应该要加个github互粉的团伙了?) 主题说完了,下面进入正题。 在web开发中,我们经常要用到一些小图标(加减勾叉等)。通常做法就两种: 直接使用图片; 使用css/svg直接在浏览器中绘制图标。 方案1:由于图...

vue 移动端车牌键盘

1.npm install input-plate-number --save 样式可以,键盘相对严谨,但是输入有bug, 2.npm installvue-carplate --save 插件样式个人看来是最好看的,键盘的输入最严谨,但是没有新能源车牌的选项, 3.https://github.com/Pinenutss/LicensePlate 插件是...

C#红绿状态灯

1.在Label里 画圆,存在窗体刷新会丢失画。 public void SetShowConnectStatus(Label lbl, boolisOk) { lbl.Text = ""; Graphics gra =lbl.CreateGraphics();...

批处理判断是否存在文件,存在则运行另外一个bat文件

现在需求如下: 使用bat文件判断是否存在ktr文件,存在则运行pan.bat,执行kettle脚本。 代码如下: @echo off @title 批处理判断文件夹是否存在 cd /d F: rem 判断是否存在.ktr结尾的文件 if exist *.ktr ( cd F:kettlesoftpdi-ce-6.0.1.0-386data-in...