CSS Box Model

CSS Box Model

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.

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.

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



Leave a Reply