美文网首页
2018-07-11 关于css的几个长度单位单位

2018-07-11 关于css的几个长度单位单位

作者: isaaCyu | 来源:发表于2018-07-11 16:03 被阅读13次

em

em 被定义为相对于当前对象内文本的字体大小

有趣的例子

   <body>
   <div>
     Test <!-- 14 * 1.2 = 16.8px -->
      <div>
         Test <!-- 16.8 * 1.2 = 20.16px -->
         <div>
             Test <!-- 20.16 * 1.2 = 24.192px -->
          </div>
       </div>
   </div>
   </body>

当我们将body的font-size设为14px的时候,em的计算方式为 父元素的font-size值 14px * 1.2 =16.8px。所以上述情况最内层div的1.2em实际宽度为24.192

需要注意的是 任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。为了简化font-size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为 16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了

EM特点

  1. em的值并不是固定的;
  2. em会继承父级元素的字体大小。

rem

rem是CSS3新增的一个相对单位(root em,根em)
它与em的区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。


ch and ex

  • ch 单位通常被定义为数字0的宽度。
  • ex 定义为当前字体的小写x字母的高度或者 1/2 的 1em

vh and vw

  • 1vh 等于1/100的视口高度。栗子:浏览器高度900px, 1 vh = 900px/100 = 9
    px。
  • 同理,如果视口宽度未750, 1vw = 750px/100 = 7.5 px。

vmin and vmax

vmin 和 vmax则关于视口高度和宽度两者的最小或者最大值。比如,浏览器的宽度设置为1100px,高度设置为700px, 1vmin = 1px, 1vmax = 11px。如果宽度设置为800px,高度设置为1080px, 1vmin就等于8px, 1vmax则未10.8px。

相关文章