浏览器最终渲染出的页面是以具体的像素为单位的(因为显示器的显示原理是基于像素的啊),浏览器通过计算em和rem,最终再将这些相对单位转换为具体的像素值渲染出来。这三者可以这样理解:

px是绝对单位,独来独往,棱角分明,一就是一,二就是二,1px就是显示器上的1像素;

em是相对单位,典型的大孝子,唯父母之命是从,自己没有半点主张,全凭父母做主;

rem也是相对单位,是个大家族,老祖宗是html,下面所有人都听老祖宗的。

下面举个例子来加深下印象:

问题:让一段文字的开头一行缩进两个字符,用哪个?

我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字

我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字

我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字,我是一段文字

上面的3个case实现的效果都是一样的,但方式方法不尽相同:px简单粗暴,em简洁易懂,rem需要计算。这里很明显case2的方法是首选(无需计算,代码简洁易懂,灵活性强),这样无论这个段落的字体大小如何变动,其首行总是会缩进2个字符,因为缩进的长度是根据当前段落的字体大小由浏览器计算出来的。

这么看来em是最好的单位了?非也!上面的例子只是千千万实际场景中的一种,我们再发散一下思维,假如页面要做全端(PC、Pad、手机)响应式,咋办?用px的话,每个media query里都要把涉及的px尺寸定义一遍,就像下面这样:@media screen and (min-width:320px) and (max-width:640px) {

.wrapper {width:320px;}

.content {font-size:12px;}

}

@media screen and (min-width:900px) and (max-width:1280px) {

.wrapper {width:900px;}

.content {font-size:14px;}

}

@media screen and (min-width:1440px) {

.wrapper {width:1440px;}

.content {font-size:16px;}

}

可以看出此时用px单位的代码成本比较高,这时候使用em是个好办法,但如果页面层级比较复杂,父级套父级呢?我们知道 em 的计算是基于父级元素的,所以这时候会非常不方便,此时就是rem单位大显神威的时候了,只需定义根元素 html 的字体px大小值,其他rem单位会自动根据这个值计算,再也不用担心父级元素的font-size了,因为它始终是基于根元素(html) 的。另外,使用rem单位时要注意浏览器兼容性。

综上,这三个单位没有好坏之分,都是很有用的属性单位,根据实际情况合理使用能为页面布局排版带来便利。

在html中2em是多少px,在css设置单位px、em、rem哪个更好?相关推荐

  1. html中字体响应式怎么写,css字体单位之间的区分以及字体响应式实现_html/css_WEB-ITnose...

    问题场景: 在实现响应式布局的过程中,如何设置字体大小在不同的视窗尺寸以及不同的移动设备的可读性? 需要了解的有: 1.px,em,pt之间的换算关系 1em = 16px 1px = 1/16 em ...

  2. css常用单位px、em、 rem 区别与各自的用法解析

    我们在布局页面中,总要用到一些有关字体,元素宽度,高度等长度单位,一般pc端常用到像素单位,移动端用em,rem 单位,它们都有各自的特点,今天总结一下它们的特点.区别 px是Pixel的缩写,也就是 ...

  3. 手机长度px值_html长度尺寸单位px像素

    概略设置宽度width.高度height.border边框等名堂数字单位px. 一.px先容 px是html长度单元像素.譬如我们电脑.手机显示屏均使用于是像素为单元,也就是px为单位.表示屏甄别率1 ...

  4. css样式单位px,em,pt,ex,pc,in,mm,cm详解

    在写css样式的时候最常用的长度单位是px(像素),除此之外经常会碰到em.pt等等. 其实css中的长度单位有px.em.pt.in.ex.pc.mm.cm.ch.rem.vw.vh.vmin.vm ...

  5. CSS尺寸单位px、em、rem、vw、vh以及%的区别

    1. px px是像素单位.它是代表显示器上每一个显示的像素点,根据用户屏幕显示器的分辨率决定. 2. em em为相对单位,相对于当前元素内文本的字体尺寸.如果当前元素没有指定字体尺寸,那么以浏览器 ...

  6. css中的单位换算_css大小单位px em rem的转换和详解

    css大小单位px em rem的转换和详解 PX特点 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位: 3. Firef ...

  7. css单位介绍em ex ch rem vw vh vm cm mm in pt pc px

    长度单位主要有以下几种em ex ch rem vw vh vm cm mm in pt pc px %,大概可以分为几种"绝对单位"和"相对单位"和" ...

  8. px/em/rem区别

    px是相对于屏幕分辨率的单位.em rem 是相对于元素的单位 vw 是屏幕的宽度/浏览器的宽度

  9. css中单位px和em,rem的区别

    1.PX 相对长度单位.像素px是相对于显示器屏幕分辨率而言的. 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位: 3. ...

最新文章

  1. 【转】Usage of sendBroadcast()
  2. tarjan详解(转)
  3. Spring Security入门(三):密码加密
  4. 9月19日下午JavaScript数组冒泡排列和二分法
  5. 有关short与int的重载[jase基础]
  6. SSM整合Shiro进行登陆认证和授权详细配置
  7. kotlin集合操作符——生产操作符
  8. 解码2017双11:全球狂欢新记录背后的阿里云存储
  9. opencv 图像属性
  10. 类加载与 Java主类加载机制解析
  11. 动态规划:最长上升子序列(二分算法 nlogn)
  12. Python(2.7.6) 迭代器
  13. python 自动化办公 随机生成题库文档
  14. 智能监狱管理系统APP软件开发
  15. 电脑右键打印不见了_win7右键没有打印选项怎么办|右键菜单没有压缩选项怎么解决|右键没有图形选项解决方法-系统城...
  16. php自我介绍50字,简短自我介绍50字
  17. Reducer类——hadoop
  18. Illegal invocation 解决方法
  19. 哈代:数学家一生是少年
  20. centos 开发套件_替代的Laravel套件开发工作流程

热门文章

  1. CentOS6 安装 MySQL 并配置
  2. OpenSSL状态机中可选消息的处理
  3. [IE编程] WebBrowser控件的多页面浏览(Tabbed Browsing)开发接口
  4. php sqlite3 sql,在PHP中准备SQLite SQL语句
  5. dram和nand哪个难生产_草缸能不能用陶粒,看完和水草泥的对比,你就知道哪个更好了...
  6. ALV DataChange EVENT
  7. SAP FI模块与SD、MM的接口配置
  8. Mini汽车的保养周期
  9. 家用轿车轮胎多久更换一次?
  10. 2014公积金新政策对你买房有什么好处?