一周新闻回顾:XP退役竟提升全球PC销量

css3 中单位 px,em,rem,vh,vw,vmin,vmax 的区别及浏览器支持情况

一周新闻回顾:XP退役竟提升全球PC销量

px:绝对单位,页面按精确像素展示

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

rem:相对单位,可理解为”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 通过动态计算获取)

页面基准 320px (20px),html font-size 值的计算:

var ele=document.getElementsByTagName("html")[0],     size=document.body.clientWidth/320*20;ele.style.fontSize=size+"px"
注:需设置 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 + 支持,android browser4.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 + 支持)

参考资料:

http://dev.w3.org/csswg/css-values/#font-relative-lengths

http://isux.tencent.com/web-app-rem.html

责任编辑:一周新闻回顾:XP退役竟提升全球PC销量