Lección 6: El modelo de caja y Box-sizing

Introducción al modelo de caja

El modelo de caja es un concepto fundamental en CSS que describe cómo se representa cada elemento HTML como una caja rectangular. Esta caja consiste en el contenido, el padding, el borde y el margen.

Modelo de caja CSS
Modelo de caja CSS3 por W3C

Componentes del modelo de caja

Propiedades CSS relacionadas

CSS

.elemento {
    width: 300px;
    height: 200px;
    padding: 20px;
    border: 2px solid black;
    margin: 10px;
}
                

Box-sizing

La propiedad box-sizing controla cómo se calcula el tamaño total de un elemento.

content-box (valor por defecto)

El ancho y alto especificados solo afectan al contenido. El padding y el borde se añaden al tamaño total.

CSS

.content-box {
    box-sizing: content-box;
    width: 100px;
    padding: 20px;
    border: 5px solid black;
}
/* Ancho total: 100px + 40px (padding) + 10px (borde) = 150px */
                

border-box

El ancho y alto especificados incluyen el contenido, el padding y el borde.

CSS

.border-box {
    box-sizing: border-box;
    width: 100px;
    padding: 20px;
    border: 5px solid black;
}
/* Ancho total: 100px (incluyendo padding y borde) */
                

Ejercicio práctico

Crea dos divs con el mismo ancho y alto declarados, pero uno con box-sizing: content-box y otro con border-box. Añade padding y borde a ambos y observa la diferencia en sus tamaños finales.

Referencias