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

  • 时间:2018-10-27 23:22 作者:前端小学生 来源:前端小学生 阅读:275
  • 扫一扫,手机访问
摘要:css单位中分为相对长度单位、绝对长度单位。今天我们主要讲解rem、em、px这些常用单位的区别和用法。px(绝对长度单位)相信对于前台来说px这个单位是大家并不陌生,px这个单位,兼容性可以说是相当可以,大家对px的理解一定是没有很大的问题的。em(相对长度单位)使用:1、浏览器的默认字体都是16

css单位中分为相对长度单位、绝对长度单位。

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

今天我们主要讲解rem、em、px这些常用单位的区别和用法。

px(绝对长度单位)

相信对于前台来说px这个单位是大家并不陌生,px这个单位,兼容性可以说是相当可以,大家对px的理解一定是没有很大的问题的。

em(相对长度单位)

使用:

1、浏览器的默认字体都是16px,那么1em=16px,以此类推计算12px=0.75em,10px=0.625em,2em=32px;

2、这样使用很复杂,很难很好的与px进行对应,也导致书写、使用、视觉的复杂(0.75em、0.625em全是小数点);

3、为了简化font-size的换算,我们在body中写入一下代码

body {font-size: 62.5%; } /* 公式16px*62.5%=10px */ 

这样页面中1em=10px,1.2em=12px,1.4em=14px,1.6em=16px,使得视觉、使用、书写都得到了极大的帮助。

例子如下:

我是1.6em

运行效果为:

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

缺点:

1、em的值并不是固定的;

2、em会继承父级元素的字体大小(参考物是父元素的font-size;);

3、em中所有的字体都是相对于父元素的大小决定的;所以假如一个设置了font-size:1.2em的元素在另一个设置了font-size:1.2em的元素里,而这个元素又在另一个设置了font-size:1.2em的元素里,那么最后计算的结果是1.2X1.2X1.2=1.728em

例如:


我是大字体
我是小字体


样式为


但运行结果small的字体大小为:1.2em*1.2em=1.44em

如图:

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

*宽度高度也是同理

rem(相对长度单位)

使用:

1、浏览器的默认字体都是16px,那么1rem=16px,以此类推计算12px=0.75rem,10px=0.625rem,2rem=32px;

2、这样使用很复杂,很难很好的与px进行对应,也导致书写、使用、视觉的复杂(0.75rem、0.625em全是小数点) ;

3、为了简化font-size的换算,我们在根元素html中加入font-size: 62.5%;

html {font-size: 62.5%; } /* 公式16px*62.5%=10px */ 

这样页面中1rem=10px,1.2rem=12px,1.4rem=14px,1.6rem=16px;使得视觉、使用、书写都得到了极大的帮助;

例子如下:

我是1.6rem=16px

运行效果为:

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

特点:

1、rem单位可谓集相对大小和绝对大小的优点于一身

2、和em不同的是rem总是相对于根元素(如:root{}),而不像em一样使用级联的方式来计算尺寸。这种相对单位使用起来更简单。

3、rem支持IE9及以上,意思是相对于根元素html(网页),不会像em那样,依赖于父元素的字体大小,而造成混乱。使用起来安全了很多。

例如:


我是14px=1.4rem
我是12px=1.2rem


样式为:


运行结果:

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

注意:

  • 值得注意的浏览器支持问题: IE8,Safari 4或者 iOS 3.2中不支持rem单位。假如你的客户群都使用最新版的浏览器,那推荐使用rem,假如要考虑兼容性,那就使用px,或者者两者同时使用。

这就是我整体对px、em、rem区别的总结,希望对大家有帮助,我会持续进步升级我的知识库 喜欢我的点击下关注哦。

  • 全部评论(0)
最新发布的资讯信息
【系统环境|windows】Axios 取消重复请求(2020-11-08 07:00)
【系统环境|windows】熬了一晚上,小白用Python写了一个股票提示系统(2020-11-08 07:00)
【系统环境|windows】2020要想成为一名专业的web前台开发程序员,需要学习什么?(2020-11-08 06:35)
【系统环境|windows】前台面试每日 3+1 —— 第546天(2020-11-08 06:34)
【系统环境|windows】聊聊前台工程师的职业发展 (纯干货)(2020-11-08 06:34)
【系统环境|windows】浅谈OAuth 2.0基本原理(2020-11-08 06:34)
【系统环境|windows】程序员初入职场避坑指南(2020-11-08 06:34)
【系统环境|windows】python的绘图利器--海龟绘图turtle(2020-11-08 06:33)
【系统环境|windows】pyinstaller打包结果瘦身(2020-11-08 06:33)
【系统环境|windows】前台面试每日 3+1 —— 第518天(2020-11-08 06:33)
血鸟云
手机二维码手机访问领取大礼包
返回顶部