一文搞清楚盒模型是什么

235 阅读2分钟

这是我参与「4月日新计划更文活动」的第8天。

我们今天讲一下盒模型。

那什么是盒模型呢?

HTML的盒模型是指一个元素在页面中所占的空间,包括元素的内容区域、内边距(padding)、边框(border)和外边距(margin)。

在很早的时候,浏览器版本特别多,IE的低版本还需要兼容怪异盒模型,其他版本的浏览器都是标准盒模型。

那标准盒模型和怪异盒模型之间有什么区别呢?

标准盒模型的宽度和高度只包括内容区域,而怪异盒模型的宽度和高度包括了边框和内边距。在CSS中可以通过box-sizing属性来控制使用哪种盒模型。

接下来我以一个例子来解释一下这两种盒模型。

标准盒模型展示的效果如下

图片.png

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>标准盒模型</title>
</head>
<style>

.container{
width: 100px;
height: 100px;
background: blue;
padding: 5px;
border: 2px solid red;
margin: 10px;
box-sizing: content-box;
}
</style>
<body>
<div class="container"></div>
</body>
</html>

我们再来看下盒模型的展示效果。

图片.png

我们在css中设置了宽度和高度都是100px,padding是5px,border是2px,margin是10px。

可以看到标准盒模型中的内容区域就是宽高都是100px。

这个时候我们将box-sizing属性值改成border-box,可以看到此时盒模型变成了下面这样:

图片.png

此时设置的宽度100px和高度100px,包含了这里的content宽度86px,padding宽度5px * 2,border的宽度2px * 2。加起来的宽度正好等于100px。

所以可以得出这个结论:

1、标准盒模型的宽度和高度只包括内容区域。 2、怪异盒模型的宽度和高度包括内容区域、边框和内边距。

看到掘金上的好文章,如果对你有帮助,顺手点个赞,或者把文章收藏。不用担心找不到了,以后也能经常收到类似好回答,我会持续进行更新。