关于em和rem
2013-05-25 19:41
351 查看
原文链接:On ems and rems
或许rem最吸引人的地方在于,不管它用于html文档的哪个部分,它总是相对于文档的根元素(html)的字体大小(font-size)。换句话说,1rem总是相同的(默认通常情况下大约16px),这种一致性确实让我可以比较简单的使用rem,比较em是相对其元素的父元素的字体大小。
但rem的这种好处同时也意味着在设计百分比的空白比如在流失布局包围印刷的padding、margin时就不再那么有帮助了。而这正是em大放光彩的地方。举个例子,有一块内容包含标题和段落。为了视觉上的效果,标题和段落之间的空白会时常改变取决于文本的大小。在这种情况下使用em作为marin和padding的单位,空白会自动根据font-size等比例变化而不管font-size是多少。如果rem使用在同样的场景中,就要求手动调整rem。jsbin
上的这个例子简单的演示了这个不同点,但在复杂的网格布局会体现的更加明显(如果你不太了解rem,我们建议你去看一下Jonathan Snook's great article on the topic)。
em还有另外一个好处:当组件完全使用em设置时,它们根据包含元素的font-size一致地进行伸缩。这非常强大,特别是我们在布局的不同部分重用组件。
同时,rem还有一个潜在的问题。如果你想支持IE8及以前的的IE浏览器,或者Opara Mini的任何版本,在每一个使用rem的地方,你需要提供一个基于px或em的数字回退方案,这当然使我们的工作更难了,同时增加了传输到用户的代码的数量(虽然很少)。
总结一下,rem是一个很棒的正在兴起的技术。什么时候使用什么时候不应该使用,仍然是我们自己应该考虑的地方。
或许rem最吸引人的地方在于,不管它用于html文档的哪个部分,它总是相对于文档的根元素(html)的字体大小(font-size)。换句话说,1rem总是相同的(默认通常情况下大约16px),这种一致性确实让我可以比较简单的使用rem,比较em是相对其元素的父元素的字体大小。
但rem的这种好处同时也意味着在设计百分比的空白比如在流失布局包围印刷的padding、margin时就不再那么有帮助了。而这正是em大放光彩的地方。举个例子,有一块内容包含标题和段落。为了视觉上的效果,标题和段落之间的空白会时常改变取决于文本的大小。在这种情况下使用em作为marin和padding的单位,空白会自动根据font-size等比例变化而不管font-size是多少。如果rem使用在同样的场景中,就要求手动调整rem。jsbin
上的这个例子简单的演示了这个不同点,但在复杂的网格布局会体现的更加明显(如果你不太了解rem,我们建议你去看一下Jonathan Snook's great article on the topic)。
em还有另外一个好处:当组件完全使用em设置时,它们根据包含元素的font-size一致地进行伸缩。这非常强大,特别是我们在布局的不同部分重用组件。
同时,rem还有一个潜在的问题。如果你想支持IE8及以前的的IE浏览器,或者Opara Mini的任何版本,在每一个使用rem的地方,你需要提供一个基于px或em的数字回退方案,这当然使我们的工作更难了,同时增加了传输到用户的代码的数量(虽然很少)。
总结一下,rem是一个很棒的正在兴起的技术。什么时候使用什么时候不应该使用,仍然是我们自己应该考虑的地方。
相关文章推荐
- 关于rem、px、em的区别
- 关于px em rem的一点小总结
- 关于响应式布局的总结px,em与rem
- 关于px、rem、em的区别
- CSS中关于字体大小的定义 em px rem pt %
- 关于em && rem单位
- 移动端页面使用单位的问题:关于px、百分比、em、rem开发中逐渐转换的问题记录
- 关于px, em, rem的区别
- 关于em px rem 的总结
- 关于em,rem,%的使用笔记
- 关于px,em,pt,ppi,dpi,dp,dip和sp
- 关于rem的一点总结【原创】
- 关于Oracel 10g http://ip:1158/em 的问题
- CSS 中单位px和em,rem的区别
- [2016-02-23]em和rem的使用详解
- CSS3中的长度单位(em、rem)
- 彻底弄懂css中单位px和em,rem的区别
- rem,em,与px的比较用法
- 彻底弄懂px em rem
- px,pt,em,rem