em、rem、px区别

css中如何区分emrempx

随着css学习的不断深入页面也随之丰富,那么em、rem、px是我们在页面布局中经常会用到的单位,也是面试题中老生常谈的一个问题,经久不衰,那我们今天用我们的小案例来解释他们的区别吧!

px(像素)

px这个单位用的非常多,我们大多数人都很熟悉了吧。px单位的名称为像素,它是一个固定大小的单元,像素的计算是针对(电脑/手机)屏幕的,一个像素(1px)就是(电脑/手机)屏幕上的一个点,即屏幕分辨率的最小分割。由于它是固定大小的单位,单独用它来设计的网页,如果适应大屏幕(电脑),在小屏幕(手机)上就会很不友好,做不到自适应的效果。

px是固定长度单位,不随其它元素的变化而变化

<div class="px">用px单位设置元素的宽高和文本的字体大小</div>

.px{border:1px solid red;width:200px;height:100px;font-size:30px;}


em(相对长度单位)

em单位的名称为相对长度单位,它是用来设置文本的字体尺寸的,它是相对于当前对象内文本的字体尺寸;一般浏览器默认1em=16px,通过设置font-size大小来代表如:16px*0.625=10px,其则代表1em=10px,直接上代码(注释的样式为浏览器默认 (1em=16px)的长宽)

em是相对于父级元素的单位,会随父级元素的属性(font-size或其它属性)变化而变化

<div class='embox'>

    用em相对长度单位来设置文本的字体大小</span>

</div>

//样式

.embox {

  border:1px solid red;

  width:200px;

  height:100px;

  font-size:30px;

}

.em {

  font-size:0.5em;

}

/*30px x 0.5 = 15px*/


rem(css3新增的相对长度单位)

rem是css3新增的一个相对长度单位,它的出现是为了解决em的缺点,em可以说是相对于父级元素的字体大小,当父级元素字体大小改变时,又得重新计算。rem出现就可以解决这样的问题,rem只相对于根目录,即HTML元素。所以只要在html标签上设置字体大小,文档中的字体大小都会以此为参照标准,一般用于自适应布局。

rem是相对于根目录(HTML元素)的,所有它会随HTML元素的属性(font-size)变化而变化

<div class='rembox'>

    用rem相对长度单位来设置文本的字体大小</span>

</div>

//样式

.rembox {

  border:1px solid red;

  width:300px;

  height:100px;

  font-size:30px;

}

.rem {

  font-size:0.5rem;

}

/*16px x 0.5 = 8px*/



px用的比较广泛一些,可以充当更多属性的单位,而emrem是字体大小的单位,用于充当font-size属性的单位

一般来说:1em = 1rem = 16 px

关注我,让我们一起学习一起进步~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 作者:HelKyle链接:http://www.w3cplus.com/css/when-to-use-em-vs...
    红叶丶秋鸣阅读 8,581评论 0 3
  • 概念介绍 px (pixel,像素):是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理长...
    柯琦阅读 6,321评论 0 7
  • ·##概念介绍:1.px(pixel,像素):是一个虚拟长度单位,是计算机系统的数字化长度单位,如果px要换算成物...
    小时候很帅的龙少阅读 6,387评论 0 6
  • 概念介绍: 1、px (pixel,像素): 是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算...
    _双眸阅读 3,644评论 0 0