px rem em vh vw之间的区别到底是啥?

落爺英雄遲暮 提交于 2020-08-06 21:22:35

绝对长度

px

px是像素值,是一个固定的长度,比如我们的米,厘米一样。

相对长度

为什么我们需要相对长度rem em等?🤔

固定长度已经不能满足我们现在的需求了。

🌰举例:比如我们在缩小我们屏幕的时候,我们不仅仅是需要缩小我们的盒子的宽高,我们还想要让我们字体大小也随之缩小,这样用户体验会更好一点。

rem

rem 与 px 的计算关系

rem的值是px的倍数

默认情况下font-size = 16px,那么1rem = 16px

rem 如何修改与px的相对计算关系

我们可以在并且只能在html标签(因为html节点是根节点,就是rem里面的r:root)里面修改font-size : 32px, 从而1rem = 32px

代码

<div class="div-rem">rem</div>
复制代码
/* rem的用法 */
html{
    font-size:16px;
}

.div-rem{
    width: 10rem;
    height: 10rem;
    font-size: 1rem;
    background-color: #a58778;
}
复制代码

em

em 与 px 的计算关系

em的值是px的倍数

默认情况下font-size = 16px,那么1em = 16px

em 如何修改与px的相对计算关系

我们可以在自己元素上面修改font-size : 32px, 从而1em = 32px

如果自己元素上面没有设置font-size, 我们也可以在父元素上面设置font-size,从而来影响自己元素(孩子元素)使用的em的值。

rem 与 em 的区别🤔

上面也正是rem 与 em的区别:

rem只能在html标签里面设置rem的依赖的值到底是多少

而em是可以在自己元素以及父级元素设置em依赖的值到底是多少

代码

<!--em1-->
<div class="div-em">em</div>

<!--em2-->
<div class="div-em-father">
    <div class="div-em-child">em child</div>
</div>
复制代码

 /* em的用法1:自己元素设置font-size的值来当作em的参照值 */
.div-em{
    width: 10em;
    height: 10em;
    font-size: 32px;
    background-color: aquamarine;
}


 /* em的用法2:自己元素不设置,而父级元素设置font-size的值来当作em的参照值 */
.div-em-father{
    font-size: 64px;
}

.div-em-child{
    width: 10em;
    height: 10em;
    background-color: cadetblue;
}
复制代码

vh vw

vh 和 vw 就是根据窗口的宽高,分成100等份,100vh就表示满高,50vh就表示一半高。

那么vh 和 vw与百分比的区别是什么?🤔

百分比是基于父元素的设置而言的,如果父元素为100px,那么子元素100%也就是100px。

而 vh 和 vw 始终是针对窗口的宽高。

代码


<!--vh vw-->
<div class="div-vh-vw">

    <!--百分比%-->
    <div class="div-vh-vw-child"></div>
    
</div>
复制代码
 /* vh vw 的用法:视窗最为参照值 */
.div-vh-vw{
    width: 10vw;
    height: 10vh;
    background-color: pink;
}

/* %百分比的用法:父元素的宽高作为参照值 */
.div-vh-vw-child{
    width: 50%;
    height: 50%;
    background-color: aliceblue;
}
复制代码

最后看看显示结果(rem 与 em的代码)

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!