互联网科技让前端飞网页前端后台技巧(CSS+HTML)

一文搞懂CSS中的字体单位大小(px,em,rem...)

2019-08-02  本文已影响3人  45a7192a6d1f

在学习的过程中,发现CSS有很多可以描述单位的尺寸。比如px,em,rem,vw等等。平时也没有深究,一来是没时间,二来是在我学习清单中优先级过低。一直想彻底弄明白,一直耽搁到现在。现在花上一点时间来整理一下,彻底弄懂它。

CSS长度单位

物理像素(设备像素)

比如有一个图片,细分,最小单位就是像素。也就是说,图片由许多的像素构成。像素是小方块,这些小方块都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子。

一个设备生产出来,它们的像素就已经确定了。iPhone5的分辨率是640x1136px,代表屏幕由640行,1136列像素小方块组成。

为了理解像素和避免与CSS像素混淆,
可以将物理像素当做物理小方块。
比如iPhone5的像素是640X1136px,可以当做640*1136个小方块。
web前端开发学习Q-q-u-n: 767273102 ,分享开发工具,零基础,进阶视频教程,希望新手少走弯

分辨率

也叫做解析度,解像度。可以从显示分辨率与图像分辨率两个方向来分类。

CSS像素px

CSS像素的单位也叫做px。它是图像显示的基本单元,既不是一个确定的物理量,也不是一个点或者小方块,而是一个抽象概念。所以在谈论像素时一定要清楚它的上下文!

em

em是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸,浏览器字体默认为16px

如何高效使用em呢

rem

rem单位是相对于字体大小的html元素,也称为根元素。

html {
  font-size: 10px; /* 不建议设置 font-size: 62.5%; 在 IE 9-11 上有偏差,具体表现为 1rem = 9.93px。 */
}

.sqaure {
  width: 5rem;  /* 50px */
  height: 5rem; /* 50px */
}

em与rem

<style>
  html{ font-size: 20px; }
  body{ 
    font-size: 1.4rem;  /* 1rem = 28px */
    padding: 0.7rem;  /* 0.7rem = 14px */
  } 
  div{
    padding: 1em;  /* 1em = 28px */
  }
  span{
    font-size:1rem;  /* 1rem = 20px */
    padding: 0.9em;  /* 1em = 18px */
  }
</style>

<html>
  <body>
    <div>   
      <span></span>  
    </div>
  </body>
</html>
web前端开发学习Q-q-u-n: 767273102 ,分享开发工具,零基础,进阶视频教程,希望新手少走弯

上面的例子中,发现了一个有意思的情况。em 会层层继承父元素的字体大小,很容易造成字体大小的混乱。所以以后用rem会更好。

rpx

rpx 是微信小程序解决自适应屏幕尺寸的尺寸单位。微信小程序规定屏幕的宽度为750rpx。

无论是在iPhone6上面还是其他机型上面都是750rpx的屏幕宽度,拿iPhone6来讲,屏幕宽度为375px,把它分为750rpx后, 1rpx = 0.5px = 1物理像素。

vw 和 vh

vmin 和 vmax

哪些地方可以用到

.box {
    height: 100vmax;
    width: 100vmax;
}

上一篇 下一篇

猜你喜欢

热点阅读