Home Python C Language C ++ HTML 5 CSS Javascript Java Kotlin SQL DJango Bootstrap React.js R C# PHP ASP.Net Numpy Dart Pandas Digital Marketing

Box-sizing Property in CSS


The box-sizing property in CSS is used to control how the width and height of an element are calculated. It determines whether the padding and border are included in the element's total width and height or if they are added outside of it. This property is crucial for creating more predictable and manageable layouts.

Default Box Model: content-box

By default, CSS uses the content-box value for the box-sizing property. In this model, the width and height of an element only apply to the content area. Padding and borders are added outside of the content area, making the total size of the element larger than what you define with the width and height properties.

Example with content-box:

    <style>
      .box {
        width: 200px;
        height: 100px;
        padding: 20px;
        border: 5px solid black;
        margin: 10px;
      }
    </style>
    <div class="box">
      This is a box with content-box.
    </div>
        

In the example above, the width of 200px is applied to the content area. However, the padding (20px) and border (5px) will be added outside of this width, increasing the total size of the box. The total width will be:

The height calculation is similar, with padding and borders adding extra space outside the content area.

Alternative Box Model: border-box

The border-box value for the box-sizing property changes this behavior. With border-box, the width and height you specify for an element include the padding and border. This means that the total size of the element will be exactly the width and height you define, without any additional space added for padding and border.

Example with border-box:

    <style>
      .box {
        box-sizing: border-box;
        width: 200px;
        height: 100px;
        padding: 20px;
        border: 5px solid black;
        margin: 10px;
      }
    </style>
    <div class="box">
      This is a box with border-box.
    </div>
        

In this case, the width of 200px includes the padding and border. The total width of the element will remain 200px, which is easier to manage when working with layouts. The padding and border will be calculated inside the specified width.

Comparison of content-box and border-box

The main difference between the two box-sizing models is how they handle padding and borders:

Applying Box-sizing Globally

You can apply the box-sizing: border-box; property to all elements on a webpage by using the universal selector *. This is a common practice to ensure more predictable sizing for all elements.

Example of global box-sizing:

    <style>
      * {
        box-sizing: border-box;
      }
    </style>
    <div class="box">
      This box uses border-box globally.
    </div>
        

By applying box-sizing: border-box; to all elements, you avoid the need to manually adjust the box model for each element, simplifying layout design.

Conclusion

The box-sizing property is an important tool for web developers, allowing control over how the width and height of elements are calculated. By using border-box, you can make your layout more predictable and easier to manage, as padding and borders are included in the element’s dimensions. Applying box-sizing: border-box globally can also streamline your CSS and improve the consistency of element sizes across your website.










Q3 Schools : India


Online Complier

HTML 5

Python

java

C++

C

JavaScript

Website Development

HTML 5

Python

java

C++

C

JavaScript

Campus Learning

C

C#

java