【CSS_01】前端开发中使用到尺寸单位

本文主要介绍前端的尺寸问题:

  • em 和 rem
  • vw 和 vh

em 和 rem

首先看如下代码和对应代码的运行结果:

示例1:第一个em使用例子。

html 复制代码
<style>
p{
    border: 1px solid;
    height: 12em;
}
</style>
<body>
<p></p>
</body>

此时F12打开控制台可以看到如下:16 * 12 = 192。

修改html代码如下:

html 复制代码
<style>
    body{
        text-align: center;
        padding-left: 30%;
    }
    p{
        border: 1px solid;
        height: 12em;
        width: 100px;
    }
    div{
        font-size: 10px;
        height: 12em;
        border: 1px solid;
        margin-top: 10px;
        width: 100px;
    }
</style>
<body>
    <p> 我是 p</p>
    <div>
        我是div
    </div>
</body>

此时的效果图如下所示:

此时div的结构图如下图:

对比此图和第一幅图可以发现都是12em但是两者的高度不是一样的!

此时在div中添加一个span标签,并添加如下的样式:

html 复制代码
    span{
        background-color: red;
        width: 8em;
        display: inline-block;
    }

此时的运行效果如下图:

可以发现span的宽度为8em = 8 * 10px = 80px; 从上面的内容就可以得到如下的结论:

  • em是一个相对长度单位,相对于当前对象内的字体尺寸。如第二个例子所示。
  • em会继承父元素的字体大小(如第三个例子所示)。
  • 如果当前元素没有设置其大小,则相对于浏览器的默认字体尺寸(16px)。如第一个例子所示。

rem 也是一个相对长度单位,不过是相对于root元素而言。这个root元素就是html标签元素!代码如下:

html 复制代码
    <style>
        html{
            font-size: 20px;
        }
        div{
            height: 10rem;
            width: 10rem;
            border: 1px solid;
        }
    </style>
    <body>
        <div>
            使用rem进行计算
        </div>
    </body>

此时看下图效果如下图:

vw 和 vh

vw(view width)和vh(view height)是前端开发中的一个动态单位,是一个相对于当前网页视口的单位。它会将一个网页的宽和高都分为100份,一个vh(网页高度的百分之一) or vw(网页宽度的百分之一) 就代表占据当前网页大小的1/100

html 复制代码
    <style>
        div{
            width: 50vw;
            height: 50vh;
            background-color: #c60023;
        }
    </style>
    ​
    <body>
        <div>
            vw和vh
        </div>
    </body>

此时运行结果如下图:

相关推荐
吃杠碰小鸡34 分钟前
lodash常用函数
前端·javascript
emoji11111144 分钟前
前端对页面数据进行缓存
开发语言·前端·javascript
泰伦闲鱼1 小时前
nestjs:GET REQUEST 缓存问题
服务器·前端·缓存·node.js·nestjs
m0_748250031 小时前
Web 第一次作业 初探html 使用VSCode工具开发
前端·html
一个处女座的程序猿O(∩_∩)O1 小时前
vue3 如何使用 mounted
前端·javascript·vue.js
m0_748235951 小时前
web复习(三)
前端
AiFlutter1 小时前
Flutter-底部分享弹窗(showModalBottomSheet)
java·前端·flutter
麦兜*1 小时前
轮播图带详情插件、uniApp插件
前端·javascript·uni-app·vue
陈大爷(有低保)1 小时前
uniapp小案例---趣味打字坤
前端·javascript·vue.js
m0_748236581 小时前
《Web 应用项目开发:从构思到上线的全过程》
服务器·前端·数据库