单位|青训营笔记

154 阅读2分钟

这是我参与【第五届青训营】伴学笔记创作活动的第八天。

1.长度单位

像素
我们先来看下某度上关于像素的介绍:

像素是指由图像的小方格组成的,这些小方块都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现的样子。
可以将像素视为整个图像中不可分割的单位或者是元素。不可分割的意思是它不能够再切割成更小抑或是元素,它是以一个单一颜色的小格存在。每一个点阵图像包含了一定量的像素,这些像素决定图像在屏幕上所呈现的大小

也就是说,显示器屏幕实际上是由一个一个的小点构成的。

问题一:像素和分辨率有什么关系呢?

分辨率=水平方向像素*垂直方向像素

屏幕分辨率

例如:屏幕分辨率是1920X1080,则该屏幕水平方向有1920个像素,垂直方向有1080个像素

  • 不同屏幕的像素大小是不同的,也就是说像素大小不像我们现行的长度单位(如米/m)那样有着固定的国际标准
  • 所以同样的像素大小在不同的设备上显示效果是不一样的,像素越小的屏幕显示的效果越清晰

图像分辨率

例如:一张图片分辨率是300X200,则该图片在屏幕上按1:1缩放时,水平方向上有300个像素,垂直方向上有200个像素点

  • 图像分辨率越高,1:1缩放时面积越大
  • 图片分辨率越低,1:1缩放时面积越小

同一台设备像素大小是不变的,那把图片放大超过100%是占的像素点就多了,但是图像也变得模糊

问题二:屏幕实现图片放大或缩小的原理是什么呢?

  • 其实是设备通过算法对图像进行了像素补足;
  • 同理,把图片按小于100%缩放时,也是通过算法将图片像素减少

百分比

也可以将属性设置为相对于其父元素属性的百分比,可以使子元素跟随父元素(暂且先理解成父元素) 的改变而改变。

em

em是相对于元素的字体大小来计算的,

1em= < self >.font-size

也就是说em值会根据元素本身的字体大小的改变而改变

rem

rem是相对于根元素的字体大小来计算,

1em=< root >.font.size

也就说em值后根据根元素的字体大小的改变而改变

<style>
  * {
    font-size: 24px;
  }

  .box1 {
    width: 200px;
    height: 200px;
    background-color: orange;
  }

  .box2 {
    width: 50%;
    height: 50%;
    background-color: aqua;
  }

  .box3 {
    font-size: 20px;
    width: 10em;
    height: 10em;
    background-color: greenyellow;
  }

  .box4 {
    font-size: 20px;
    width: 10rem; /*当时用rem时,不管怎么改本元素的font-size都是不会变的。需要定义root元素的font-size才可以 */
    height: 10rem;
    background-color: red;
  }
</style>

<div class="box1">
  <div class="box2"></div>
</div>

<div class="box3"></div>

<div class="box4"></div>

屏幕截图 2023-02-11 171604.png