当前位置:Gxlcms > css > css相对长度单位有哪些?常用相对单位em和rem介绍

css相对长度单位有哪些?常用相对单位em和rem介绍

时间:2021-07-01 10:21:17 帮助过:37人阅读

css中的长度单位有很多,可谓五花八门,但基本上可分为三大类:相对长度单位、绝对长度单位和可视区百分比长度单位。本篇文章就给大家说说相对长度单位类中包括了哪些单位,介绍常用的相对单位如何使用。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

css中相对长度单位包括有:em,rem,points,pica,ex,ch等,下面我们就来介绍一下相对长度中常用的2个单位:em和rem单位是如何使用的。

css长度单位之em单位

em是相对字体长度单位,它的单位长度是根据元素的文本文字垂直长度来决定的。例:1em相当于当前的字体尺寸(font-size属性),那么2em相当于当前字体尺寸的2倍。若用于其他属性(width,height),则是相对于本身元素的font-size。可以作用在width、height、line-height、margin、padding、border等样式的设置上。

我们具体的看一个简单的示例,来了解em。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <style>
  6. div {
  7. font-size: 40px;
  8. width: 10em;
  9. /* 400px */
  10. height: 10em;
  11. border: solid 1px black;
  12. }
  13. p {
  14. font-size: 0.5em;
  15. /* 20px */
  16. width: 10em;
  17. /* 200px */
  18. height: 10em;
  19. border: solid 1px red;
  20. }
  21. span {
  22. font-size: 0.5em;
  23. width: 10em;
  24. height: 10em;
  25. border: solid 1px blue;
  26. display: block;
  27. }
  28. </style>
  29. </head>
  30. <body>
  31. <div>
  32. 我是父元素div
  33. <p>
  34. 我是子元素p
  35. <span>我是孙元素span</span>
  36. </p>
  37. </div>
  38. </body>
  39. </body>
  40. </html>

效果图:

1.jpg

em的特点:

  1. em单位的值并不是固定的,子元素字体大小的em是相对于父元素字体大小;

  2. 元素的width/height/padding/margin用em的话是相对于该元素的font-size

css长度单位之rem单位

rem是CSS3新增的一个相对字体长度单位,只相对根元素即html元素字体大小来确定其长度,是做移动端页面的必不可少的长度单位。

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <style>
  6. html {
  7. font-size: 16px;
  8. }
  9. .div1 {
  10. font-size: 3rem;
  11. }
  12. .div2 {
  13. font-size: 0.5rem;
  14. }
  15. </style>
  16. </head>
  17. <body>
  18. <div class="div1">
  19. div1---48px
  20. <div class="div2">
  21. div2---8px
  22. </div>
  23. </div>
  24. </body>
  25. </body>
  26. </html>

效果图:

2.jpg

例子中html的字体大小为固定大小16px,设置div1的字体大小为3rem,而:3rem = 16px * 3 = 48px,所以div1 的字体大小为48;

设置div2的字体大小为0.5rem,而:0.5rem = 16px * 0.5 = 8px,所以div2的字体大小为8px。

em与rem对比

我们通过一个简单的例子来看看em与rem之间的区别

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <style>
  6. html {
  7. font-size: 16px;
  8. }
  9. body {
  10. font-size: 8px;
  11. }
  12. .div1 {
  13. font-size: 3rem;
  14. /* 3rem = 16px * 3 = 48px */
  15. width: 20em;
  16. /* 20em = 48px * 20 = 960px */
  17. height: 20rem;
  18. /* 10rem = 16px * 20 = 320px */
  19. border: 1px solid red;
  20. }
  21. .div2 {
  22. font-size: 0.5em;
  23. /* 0.5rem = 48px * 0.5 = 24px */
  24. width: 10em;
  25. /* 10em = 48px * 10 = 480px */
  26. height: 10rem;
  27. /* 10rem = 16px * 10 = 160px */
  28. border: 1px solid black;
  29. }
  30. </style>
  31. </head>
  32. <body>
  33. <div>
  34. html设置字体大小为16px,body设置为8px。<br />
  35. div1的字体大小为3rem(3rem = 16px * 3 = 48px)
  36. </div>
  37. <div class="div1">
  38. div1--宽20em(960px),高20rem(320px)
  39. <div class="div2">
  40. div2<br />
  41. 宽10em(480px)<br />
  42. 高10rem(160px)
  43. </div>
  44. </div>
  45. </body>
  46. </body>
  47. </html>

效果图:

3.jpg

注意:

div1盒子的font-size是3rem,参考的是根元素html的font-size;

div1盒子的width是20em,因为自身有font-size属性,因此参考文本为自身的font-size;

div1盒子的height是3rem,参考的是根元素html的font-size;

div2盒子的font-size是0.5em,参考的是其父元素div1盒子的font-size;

div2盒子的height是10rem,参考文本为根元素html的font-size;

div2盒子的width是10em,参考文本为其父元素div1盒子的font-size.

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。更多相关教程请访问 CSS基础视频教程, CSS3视频教程,bootstrap视频教程!

以上就是css相对长度单位有哪些?常用相对单位em和rem介绍的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行