【小白学HTML5】一文讲清常用单位(px、em、rem、%、vw、vh)

html5中,常用的单位有px、em、rem、%、vw、vh(不常用)、cm、m等,这里主要讲解px、em、rem、%、vw。

学习了解:主流浏览器默认的字号:font-size:16px,无论用什么单位,浏览器最终计算为像素px。

1、绝对单位 px,也称为像素,所谓绝对单位就是不随着网页的大小等变化的单位。

html 复制代码
<style>
.box{width:160px;height:160px;background-color:red;}
</style>
<!-- 定义box -->
<div class='box'></div>

如上述的的盒子box的宽高就是160px,是固定的,不会随着浏览器或其他元素的变化而变化,因此也叫绝对的单位。

2、相对单位 em,所谓相对单位是相对于网页中的元素而言的。

默认情况下,1em = 浏览器的默认字号,即1em = 16px,因此上面的代码可以改为一下代码。

em受font-size字号的影响,如果设置了font-size:32px,思考一下会发生什么呢?当font-size设置为32px时,此时的1em = 32px,相应的box盒子也增大了一倍。

em受父元素的影响,一般情况下电脑端用em。

html 复制代码
<style>
/* .box{width:160px;height:160px;background-color:red;} */
.box{width:10em;height:10em;background-color:red;}
</style>
<!-- 定义box -->
<div class='box'></div>

3、相对单位rem,可以理解为root(根)em。

所谓根字号或者根单位,默认是16px,除非认为去更新默认的字号,否则不变,不收祖先元素的影响,只受根字号的影响。同样的font-size不要再用16px表达,而是用font-size:0.5rem的形式进行表达,一般情况下,移动端用rem

html 复制代码
<style>
html{
font-size:32px;
/*此时的 1rem = 32px*/
}
/* .box{width:160px;height:160px;background-color:red;} */
.box{width:10rem;height:10rem;background-color:red;font-size:0.5rem}
</style>
<!-- 定义box 此时的box大小为320px-->
<div class='box'></div>

4、百分比%,以父元素为参照我。

html 复制代码
<style>
.box{width:160px;height:160px;background-color:red;}
.box .item {width:50%}
</style>
<!-- 定义box -->
<div class='box'>
    <div class='item'></box>
</div>

父元素box为160px,那么item的宽度应为80px

4、视口单位vw和vh,视口就是viewport的意思。视口就是可视窗口的意思。

vw是视口宽度,vh视口高度,视口单位和百分比%相似,视口是以窗口的宽高作为基准,百分号是以父元素作为基准。

vh和vw是表示视窗高度和宽度的相对单位。其中,1vh等于视窗高度的1%,而1vw等于视窗宽度的1%。这些单位通常用于响应式设计中,以便根据用户设备的屏幕大小调整元素的尺寸和布局。

相关推荐
庸俗今天不摸鱼18 分钟前
【万字总结】前端全方位性能优化指南(十)——自适应优化系统、遗传算法调参、Service Worker智能降级方案
前端·性能优化·webassembly
黄毛火烧雪下25 分钟前
React Context API 用于在组件树中共享全局状态
前端·javascript·react.js
Apifox36 分钟前
如何在 Apifox 中通过 CLI 运行包含云端数据库连接配置的测试场景
前端·后端·程序员
一张假钞39 分钟前
Firefox默认在新标签页打开收藏栏链接
前端·firefox
高达可以过山车不行39 分钟前
Firefox账号同步书签不一致(火狐浏览器书签同步不一致)
前端·firefox
m0_5937581040 分钟前
firefox 136.0.4版本离线安装MarkDown插件
前端·firefox
掘金一周43 分钟前
金石焕新程 >> 瓜分万元现金大奖征文活动即将回归 | 掘金一周 4.3
前端·人工智能·后端
三翼鸟数字化技术团队1 小时前
Vue自定义指令最佳实践教程
前端·vue.js
Jasmin Tin Wei2 小时前
蓝桥杯 web 学海无涯(axios、ecahrts)版本二
前端·蓝桥杯
圈圈编码2 小时前
Spring Task 定时任务
java·前端·spring