CSS | 彻底搞懂css中的尺寸单位

这是我参与更文挑战的第13天,活动详情查看 更文挑战

单位是前端开发中很重要的一个元素,我们的CSS中至少有10个不同的度量单位,每个单位都有自己的特定用途,在不同的情况使用不同的单位,可以让你的网页在各种设备中更加灵活,下面一起来看看这些单位分别是什么吧!

绝对长度单位

绝对单位是物理世界中实际测量值的数字表示,这些单位与屏幕大小或其分辨率无关;

image.png

绝对单位中使用最广泛的是像素 (px)。一个像素通常被理解为屏幕上的一个点。它是最小的计量单位,通常用作其他单位的基准。

.w1{
    height: 0.4in;
    background:#FFCCCC;
}
.w2{
    height: 10mm;
    background:#FFCC99;
}
.w3{
    height: 1cm;
    background:#FFCC66;
}
.w4{
    height: 37.8px;
    background:#CCFF99;
}
.w5{
    height: 2.4pc;
    background:#CCFF66;
}
.w6{
    height: 28.8pt;
    background:#CCFF33;
}
复制代码

image.png

相对长度单位

相对单位没有固定值。它们的值相对于其他一些预定义的值或特征。由于我们可以将它们的宽度、高度、字体大小等与其他一些基本参数相关联,因此相对单位可以轻松地调整元素的大小。

image.png

相对字体单位

ex和ch

ex在开发中很少使用,1ex等于小写字母“x”的高度,但不同字体x的高度可能不同。1ex=0.5em;

p {
  font-size: 2ex;
}
复制代码

ch与ex类似,被定义为数字0的宽度。当无法确定数字0宽度时,取em值的一半作为ch值。

p {
  margin: 2ch;
}
复制代码

em

  • em 单元的值等于基本元素或父元素的字体大小。em表示元素的font-size属性的计算值,如果用于font-size属性本身,相对于父元素的font-size;若用于其他属性,相对于本身元素的font-size。

  • 例如,如果父元素的字体大小是20px,那么对于所有直接的子元素,1em 的值将计算到20px。

  • 任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合: 1em=16px。

  • 如果在body选择器中声明Font-size=62.5%1em=10px

问题:

em 会层层继承父元素的或自己的字体大小,很容易造成字体大小的混乱,从下图可一看到,border都是1em,但是因为字体大小不同,em显示的大小也不同的。

image.png

<div class="box">
    第一层
    <p>
        第二层
         <span>
        第三层
    </span>
    </p>
</div>
复制代码
html{ 
    font-size: 40px;
}
div {
    border: 1em solid #FFCCCC;
}
p{
    font-size: 30px;
    border: 1em solid #FFCC66;
}
span{
    font-size:14px;
    border: 1em solid #CCFF33;
}
复制代码

rem

rem是相对于根元素html的font-size属性的计算值;

只要html的font-size大小不变,1rem所代表的font-size大小就不会变,rem只取决于html的font-size

同样是上面的示例,把em改成rem,可以看到border的大小都是一样的。

image.png

html{ 
    font-size: 40px;
}
div {
    border: 1rem solid #FFCCCC;
}
p{
    font-size: 30px;
    border: 1rem solid #FFCC66;
}
span{
    font-size:14px;
    border: 1rem solid #CCFF33;
}
复制代码

相对视口单位

vh和vw

该vh单元是与视口的高度,vh等于视口高度的 1/100,如果我们想根据浏览器窗口的高度缩放元素,这个单位很有用。

例如: 如果视口的高度为400px,则1vh=400/100=4px。如果视口高度为800px,则1vh=800/100=8px。

vw 单位与视口的宽度有关。1vw等于视口宽度的 1/100。

例如:,如果窗口的宽度为1200px,1vw=1200/100=12px。

[图片来源于网络]
图片来源于网络

vmin和vmax

vmin它取的是相对于视口高度或宽度中较小值的1/100

例如:如果视口的尺寸为 500 x 700,则值为1vmin=500/100=5px。如果尺寸为 1000 x 700,则值为 1vmin=700/100=7px。

vmax它取的是相对于视口高度或宽度中较大值的1/100,

例如:如果视口的尺寸为 500 x 700,则 1vmax=700/100=7px。如果尺寸为 1000 x 700,则 1vmax=1000/100=10px。

[图片来源于网络]

图片来源于网络

引用参考:A Look at Length Units in CSS


小可爱看完就点个赞再走吧!???

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享