You are currently viewing CSS Box Model

CSS Box Model

Free Coding Ebook 👉 Get Now

CSS Box Model

CSS Box Model
CSS Box Model

 

The CSS box model is the foundation of the design and layout of the Web.

It is simply a box or a rectangular box.

ADVERTISEMENT

Note: Before we can study and create CSS Layouts, we have to understand CSS box models first.

In the CSS box model, each element is represented as a box with the following parts or properties:

  • Content: also called content box/area; it is the area where the content of the box is displayed
  • Padding: the space or area between the outer edge of the content box and the inner edge of the border; it is transparent
  • Border: the area between margin and the padding; its width, style and color can be changed
  • Margin: the area or space outside the border or outside the CSS box; it is transparent

Each part or property is built up around another layer by layer.

Example:

h3 {
max-height: 70px;
background: lightgreen;
/* let's hide the overlapping content */
overflow: hidden;
}

Width and Height of a CSS Box

To get the total width or height of a CSS Box we have to use the following formulas.

CSS Box’s width = left border’s width + left padding’s width + content box’s width + right padding’s width + right border’s width

CSS Box’s height = top border’s height + top padding’s height + content box’s height + bottom padding’s height + bottom border’s height

Restaurant Website Using HTML and CSS

For example, if a div element has the following CSS declarations…

div {
width: 200px;
height: 200px;
padding: 50px;
border: 20px solid black;
}

…its total width/height would then be 340px:

CSS Box’s width = 20px (left border) + 50px (left padding) + 200px (content box’s width) + 50px (right padding) + 20px (right border) = 340px

CSS Box’s height = 20px (top border) + 50px (top padding) + 200px (content box’s height) + 50px (bottom padding) + 20px (bottom border) = 340px

You must have noticed that the width and height CSS properties only set the width/height of the content box, not the entire CSS box

Isn’t that annoying? Yes, in some cases.

Ecommerce Website Using HTML, CSS, & JavaScript (Source Code)

For example, if we only want a CSS Box to occupy 50% of the width including the border and the padding.

To achieve something like that we need the box-sizing CSS property to be set to border-box.

div {
box-sizing: border-box;
width: 200px;
height: 200px;
padding: 50px;
border: 20px solid black;
}

Now the final rendered width/height of the element is only 200px.

It is because the padding and borders are already included inside the 200px.

ADVERTISEMENT

Note: It is highly recommended to use this approach in web design.

ADVERTISEMENT

CSS Box Terminologies:

ADVERTISEMENT

  • content box/area – the area where the content of the box is displayed
  • padding box/area – the content area and the element’s padding combined
  • border box/area – the padding area and the element’s borders combined
  • margin box/area – the border area and the element’s margins combined

100+ JavaScript Projects With Source Code ( Beginners to Advanced)

ADVERTISEMENT

 Thanks For Reading!

ADVERTISEMENT

Free Coding Ebook 👉 Get Now

Leave a Reply