La propiedad CSS box-sizing nos permite incluir borde y relleno en el ancho y alto total de un elemento.
Sin la propiedad box-sizing
De forma predeterminada, el ancho y la altura de un elemento se calculan así:
width + padding + border = ancho real de un elemento
height + padding + border = altura real de un elemento
Esto significa: cuando estableces el ancho/alto de un elemento, el elemento a menudo parece más grande de lo que ha establecido (porque border y padding se agregan al ancho/alto especificado del elemento).
Ejm
<!DOCTYPE html> <html> <head> <style> .div1 { width: 300px; height: 100px; border: 1px solid blue; box-sizing: border-box; } .div2 { width: 300px; height: 100px; padding: 50px; border: 1px solid red; box-sizing: border-box; } </style> </head> <body> <h1>With box-sizing</h1> <div class="div1">Both divs are the same size now!</div> <br> <div class="div2">Hooray!</div> </body> </html>