Desde el principio los modelos de caja de CSS se han medido sumando las medidasd de width + padding + border, o bien, height + padding + border. Esto ocasionaba que se tuviera que ir sumando las medidas para calcular el tamaño exacto que queriamos que fueran nuestras cajas.

box-sizing :: Apareció para resolver todo estos problemas que ocasionaba los modelos de caja en CSS.

Valores

  • content-box
  • border-box
  • padding-box
  • initial
  • inherit


Hoy en día los navegadores usan el modelo de caja antes mencionado de width + padding + border, o bien, height + padding + border.Pero con box-sizing: border-box ;, podemos cambiar el modelo de caja, donde el ancho y la altura que especifiquemos de un elemento no se ven afectados por el padding o el border.

El valor content-box es para recuperar el modelo de caja originario.

padding-box:En este caso las propiedades width y height incluyen en padding pero no incluyen el border y el margin.

Se recomienda usar en nuestro CSS

html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: border-box; }

En este enlace puede saber más sobre en qué navegador puede usar esta característica CSS.

Ejemplo

See the Pen box-sizing by Bernardo Martin (@bermartinv) on CodePen.