这篇文章主要介绍“css单位中px和em以及rem的区别是什么”,在日常操作中,相信很多人在css单位中px和em以及rem的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css单位中px和em以及rem的区别是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
css单位中分为相对长度单位、绝对长度单位。
今天我们主要讲解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,使得视觉、使用、书写都得到了极大的帮助。
例子如下:
<div class="font1" style='font-size:1.6em'>我是1.6em</div>
运行效果为:
缺点:
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
例如:
<div class="big"> 我是大字体 <div class="small">我是小字体</div> </div>
样式为
<style> body {font-size: 62.5%; } /* 公式:16px*62.5%=10px */ .big{font-size: 1.2em} .small{font-size: 1.2em} </style>
但运行结果small的字体大小为:1.2em*1.2em=1.44em
如图:
*宽度高度也是同理
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;使得视觉、使用、书写都得到了极大的帮助;
例子如下:
<div class="font1" style='font-size:1.6rem'>我是1.6rem=16px</div>
运行效果为:
特点:
1、rem单位可谓集相对大小和绝对大小的优点于一身
2、和em不同的是rem总是相对于根元素(如:root{}),而不像em一样使用级联的方式来计算尺寸。这种相对单位使用起来更简单。
3、rem支持IE9及以上,意思是相对于根元素html(网页),不会像em那样,依赖于父元素的字体大小,而造成混乱。使用起来安全了很多。
例如:
<div class="big"> 我是14px=1.4rem<div class="small">我是12px=1.2rem</div> </div>
样式为:
<style> html {font-size: 10px; } /* 公式16px*62.5%=10px */ .big{font-size: 1.4rem} .small{font-size: 1.2rem} </style>
运行结果:
注意:
值得注意的浏览器支持问题: IE8,Safari 4或 iOS 3.2中不支持rem单位。
如果你的用户群都使用最新版的浏览器,那推荐使用rem,如果要考虑兼容性,那就使用px,或者两者同时使用。
到此,关于“css单位中px和em以及rem的区别是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。