Learn CSS BOX MODEL

Jitendra Choudhary - May 31 - - Dev Community

Introduction

On the web everything is a box literally everything all the elements, images, buttons, paragraphs, videos, and everything. With everything being a box it has a BOX MODEL applied. So what is a CSS BOX MODEL? In this article, we will learn CSS BOX MODEL.

GSAP-everything-is-box-on-web

What is a BOX MODEL?

The CSS box model as a whole applies to block boxes and defines how the different parts of a box — margin, border, padding, and content — work together to create a box that you can see on a page. Inline boxes use just some of the behavior defined in the box model. - mdn web docs

The BOX MODEL consists of the content, padding, border and margin.

Box-Model-CSS

Parts of a box

Making up a block box in CSS we have this:

  • Content box: In this box your actual content is displayed; you can alter this using properties like height and width.

  • Padding box: The padding is the area around the content as white space; you can alter it using padding and related properties. Basically padding is creates a space inside an element.

  • Border box: The border box wraps around padding box if any otherwise on the content box; size it using border and related properties.

  • Margin box: The margin is the outermost layer around the content, padding, and border as white space between this box and other elements; you can size it using margin and related properties.

The standard CSS BOX MODEL

In the standard box model, if you set height and width property value on a box, these values defines the height and width of the content box. Any padding and borders are then added to get the actual size of the box.

Note: However, the margin takes space on the page it is not counted towards the size of the box.

If we assume that we have the following box with some CSS properties:

.box {
  width: 300px;
  height: 200px;
  margin: 25px;
  padding: 10px;
  border: 5px solid magenta;
}
Enter fullscreen mode Exit fullscreen mode

The actual size of the box will be width (horizontal)(300 + 10 + 10 + 5 + 5) and height (vertical)(200 + 10 + 10 + 5 + 5).

The alternate CSS BOX MODEL

In the alternate box model, the size is of the box is just the simple width and height of the box.

To apply the alternate box model, we use box-sizing property on it.

.alternate {
  box-sizing: border-box;
}
Enter fullscreen mode Exit fullscreen mode

If we assume that we have the following box with some CSS properties:

.box {
  width: 300px;
  height: 200px;
  margin: 25px;
  padding: 10px;
  border: 5px solid magenta;
}
Enter fullscreen mode Exit fullscreen mode

The actual size of the box will be width (horizontal)(300) and height (vertical)(200).

The alternate box model is popular among developers and here is how you can apply to the elements:

html {
  box-sizing: border-box;
}

*,
*::after,
*::before {
  box-sizing: inherit;
}
Enter fullscreen mode Exit fullscreen mode

Play with CSS BOX MODEL

Ignore the boilerplate, I create two divs with class name box. I also add one more class alternate to the second div. Now both the divs will have same properties except the alternate class.

The class box has following CSS properties:

.box {
  width: 200px;
  height: 150px;
  margin: 10px;
  padding: 25px;
  border: 5px solid magenta;
}
Enter fullscreen mode Exit fullscreen mode

The class alternate has following CSS properties:

.alternate {
  box-sizing: border-box;
}
Enter fullscreen mode Exit fullscreen mode

Conclusion

That's it for BOX MODEL; As everything on web is a box it is very important to learn the fundamentals of CSS. Learning box modeling enables you to manipulate and structure elements on the page.

Thanks for this reading!! If you find this helpful; drop your reactions and share this piece with others.

You can also stay connected with me by following me here and on X, LinkedIn.

. . . . . . . . . . . . . . .