Geek Slack

Introduction to CSS
About Lesson



CSS Box Model


CSS Box Model

The CSS box model is a fundamental concept in web design and development. It describes the rectangular boxes that are generated for elements in the document tree and how their dimensions and spacing are calculated.

The Box Model Components

  • Content: The content of the box, where text and images appear.
  • Padding: Clears an area around the content. The padding is transparent.
  • Border: A border that goes around the padding (if any) and content.
  • Margin: Clears an area outside the border. The margin is transparent.

Box Model Example

In this example, we’ll demonstrate the different parts of the box model:

.box {
    width: 300px;
    border: 15px solid #2196f3;
    padding: 50px;
    margin: 20px;
}

This is a box model example.

Content Area

The content area is the innermost part of the box where text and images appear. In the example, the content area has a width of 300px.

Padding

The padding area surrounds the content area. It is used to create space inside the element, between the content and the border. In the example, the padding is 50px on all sides.

Border

The border area surrounds the padding (if any) and the content. It is used to create a visible border around the element. In the example, the border is 15px solid and colored #2196f3.

Margin

The margin area surrounds the border (if any). It is used to create space outside the element, between the element and adjacent elements. In the example, the margin is 20px on all sides.

Box Model Calculation

The total width and height of an element are calculated as follows:

  • Total Width: width + left padding + right padding + left border + right border + left margin + right margin
  • Total Height: height + top padding + bottom padding + top border + bottom border + top margin + bottom margin

For the example box:

  • Width: 300px (content) + 50px (left padding) + 50px (right padding) + 15px (left border) + 15px (right border) + 20px (left margin) + 20px (right margin) = 470px
  • Height: (assuming height is same as width) 300px (content) + 50px (top padding) + 50px (bottom padding) + 15px (top border) + 15px (bottom border) + 20px (top margin) + 20px (bottom margin) = 470px

Box-Sizing Property

The box-sizing property allows us to include the padding and border in the element’s total width and height.

.box-sizing-example {
    width: 300px;
    padding: 50px;
    border: 15px solid #2196f3;
    margin: 20px;
    box-sizing: border-box;
}

This box uses box-sizing: border-box;

Conclusion

Understanding the CSS box model is essential for controlling layout and design in web development. The box model’s properties (content, padding, border, and margin) play a crucial role in determining the size and spacing of elements on a web page.

Join the conversation