box-sizing
content-box vs. border-box
<div class="div-a">Div-A</div>
<div class="div-b">Div-B</div>
div {
    width: 150px;
    height: 150px;
    padding: 50px;
    border: 5px solid gold;
}
.div-a {
    box-sizing: content-box; /* Calculates size based on content only */
}
.div-b {
    box-sizing: border-box; /* Includes content, padding, and border in size calculation */
}
Rendered Output
selector {
    box-sizing: content-box | border-box;
}
/* Keyword values */
box-sizing: content-box;
box-sizing: border-box;

/* Global values */
box-sizing: inherit;
box-sizing: initial;
box-sizing: revert;
box-sizing: revert-layer;
box-sizing: unset;
<div class="div-1">div-1</div>
<br>
<div class="div-2">div-2</div>
.div-1 {
    box-sizing: content-box;
    width: 200px;
    height: 100px;
    padding: 10px;
    border: 5px solid red;
    /* Total width: 200px + (2 * 10px) + (2 * 5px) = 230px
       Total height: 100px + (2 * 10px) + (2 * 5px) = 130px
       content-box width: 200px
       content-box height: 100px */
}
.div-2 {
    box-sizing: border-box;
    width: 200px;
    height: 100px;
    padding: 10px;
    border: 5px solid blue;
    /* Total width: 200px
       Total height: 100px
       content-box width: 200px - (2 * 10px) - (2 * 5px) = 170px
       content-box height: 100px - (2 * 10px) - (2 * 5px) = 70px */
}
Rendered Output
/* Apply box-sizing: border-box; to all elements */
*,
::before,
::after {
    box-sizing: border-box;
}