CSS box sizing explained
The box-sizing
CSS property is used to specify what exactly do the height and width values include:
div {
box-sizing: border-box;
width: 200px;
height: 300px;
border: 2px solid green;
}
box-sizing: CSS syntax
There are two values you can use for the box-sizing
CSS property:
box-sizing: content-box;
/ box-sizing: border-box;
.content-box {
box-sizing: content-box;
}
.border-box {
box-sizing: border-box;
}
content-box
is the default value for box-sizing
in CSS. It means the width and height values only include content. It does not include border, margin, or padding. If your element is set to be X pixels wide and Y pixels high, its final size with border and padding will actually take up more space.
border-box
means the width and height values include content, border and padding. However, it doesn't include the margin. This box sizing option simplifies working with layouts, as you can always be sure of the final size.
See an example in the table below to get a better idea of box-sizing
in CSS:
box-sizing | Width | Border | Padding | Actual element width | Actual content width |
---|---|---|---|---|---|
content-box |
200 | 20 | 10 | 260 | 200 |
border-box |
200 | 20 | 10 | 200 | 140 |
Note: the
padding-box
value was used for thebox-sizing
CSS property the past, but it's been deprecated since then.