尺寸单位em,rem,vh,vw

这几天做demo,看了网上教程有用到尺寸单位vh,vw, 这些单位不是很熟悉,所以上网上找了些资料来认识了这些不认识的单位

1.em

在做手机端的时候经常会用到的做字体的尺寸单位

说白了 em就相当于“倍”,比如设置当前的div的字体大小为1.5em,则当前的div的字体大小为:当前div继承的字体大小*1.5

但是当div进行嵌套的时候,em始终是按照当前div继承的字体大小来缩放,参照后面的例子。

2.rem

这里的r就是root的意思,意思是相对于根节点来进行缩放,当有嵌套关系的时候,嵌套关系的元素的字体大小始终按照根节点的字体大小进行缩放。

参照后面给的demo

3.vh

vh就是当前屏幕可见高度的1%,也就是说

height:100vh == height:100%;

但是有个好处是当元素没有内容时候,设置height:100%该元素不会被撑开,

但是设置height:100vh,该元素会被撑开屏幕高度一致。

4.vw

vw就是当前屏幕宽度的1%

补充一句,当设置100%,被设置元素的宽度是按照父元素的宽度来设置,

但是100vw是相对于屏幕可见宽度来设置的,所以会出现50vw 比50%大的情况

最后说一句,以上这些尺寸都是css3中的尺寸单位

低版本的ie就不支持了

没看懂的同学可以参考这里的一个demo

复制粘贴保存成index.html即可在浏览器查看。

祝大家春节快乐!

[html] view plain copy
 
  1. <!DOCTYPE html>  
  2. <html lang="Zh-cn">  
  3. <head>  
  4.     <meta charset="UTF-8">  
  5.     <title>恭贺新春</title>  
  6. </head>  
  7. <style type="text/css" media="screen">  
  8. html{  
  9.     font-size: 14px;  
  10. }  
  11. .em,  
  12. .em > .em-son,  
  13. .em > .em-son > .em-grandson {  
  14.     font-size: 1.2em;  
  15. }   
  16. .rem,  
  17. .rem > .rem-son,  
  18. .rem > .rem-son > .rem-grandson {  
  19.     font-size: 1.2rem;  
  20. }   
  21. .rem-box {  
  22.     background: #d60b3b;  
  23.     10rem;  
  24.     height: 10rem;  
  25.     color: #fff;  
  26.     text-align: center;   
  27.     line-height:5rem;  
  28. }  
  29. .vhvw-box {  
  30.     background: #d60b3b;  
  31.     50vw;  
  32.     height: 50vh;  
  33.     color: #fff;  
  34.     text-align: center;   
  35.     line-height:25vh;  
  36. }  
  37. </style>  
  38. <body>  
  39. <h1>em 继承父元素的字体大小,来变大或变小,多层嵌套字体变化</h1>  
  40. <div class="em">  
  41.     字体大小 1.2 * 14(父元素body) = 16px  
  42.         <div class="em-son">  
  43.             字体大小 1.2 * 16(父元素em) = 20px  
  44.             <div class="em-grandson">  
  45.                 字体大小 1.2 * 20(父元素em-son) = 24px  
  46.             </div>  
  47.     </div>  
  48. </div>  
  49. <br>  
  50. <h1>rem 继承根节点元素的字体大小,来变大或变小,多层嵌套字体不变化</h1>  
  51. <div class="rem">  
  52.     字体大小 1.2 * 14(根节点html) = 16px  
  53.         <div class="rem-son">  
  54.             字体大小 1.2 * 14(根节点html) = 16px  
  55.             <div class="rem-grandson">  
  56.                 字体大小 1.2 * 14(根节点html) = 16px  
  57.             </div>  
  58.     </div>  
  59. </div>  
  60. <br>  
  61. <h1>rem 也可作为固定长度单位设置宽高等</h1>  
  62. <div class="rem-box">  
  63.     宽:14 * 10 = 140px<br>  
  64.     高:14 * 10 = 140px  
  65. </div>  
  66. <br>  
  67. <h1>vh,vw 屏幕可见区域的高度,宽度的1%</h1>  
  68. <div class="vhvw-box">  
  69.     宽:屏幕宽度的50%<br>  
  70.     高:屏幕高度的50%  
  71. </div>  
  72. </body>  
  73. </html>  
原文地址:https://www.cnblogs.com/xuanwotianming153/p/7493424.html