Modelo de caja
El diseño de cualquier página HTML está compuesto por cajas rectangulares.
El modelo de cajas o "Box Model" es seguramente la característica más importante del lenguaje de hojas de estilos CSS, ya que condiciona el diseño de todas las páginas web.
El "box model" es el comportamiento de CSS que hace que todos los elementos incluidos en una página Web se representen mediante cajas rectangulares. Cualquier objeto de una web (párrafos, listas, enlaces, imágenes, tablas, etc.) son cajas rectangulares. Los navegadores sitúan estas cajas de la forma que nosotros les hayamos indicado para maquetar la página.
Las cajas de las páginas no son visibles a simple vista porque inicialmente no muestran ningún color de fondo ni ningún borde. Por ejemplo, forzando al navegador para que muestre las cajas tenemos este resultado de la web de CSS Zen Garden.
Las cajas de una página las crea automáticamente el navegador, pero CSS permite modificar todas sus características. Cada vez que se inserta una etiqueta HTML, se crea una nueva caja rectangular que encierra los contenidos de ese elemento.
Modelo 3D de cajas propuesto en Hicksdesign: http://www.hicksdesign.co.uk/boxmodel

CSS permite controlar:
- El aspecto de todas las cajas: la altura y anchura de cada caja, el margen existente entre cajas y el espacio de relleno interior que muestra cada una de ellas.
- La forma en la que se visualizan las cajas: se pueden ocultar, desplazar respecto de su posición original y fijarlas en una posición específica dentro del documento.
Las cajas de las páginas no son visibles a simple vista porque inicialmente no muestran ningún color de fondo ni ningún borde.
Las partes que componen cada caja y su orden de visualización, desde el punto de vista del usuario, son:
- Contenido (content): contenido HTML del elemento (las palabras de un párrafo, una imagen, el texto de una lista de elementos, una tabla, etc.).
- Relleno (padding): espacio libre opcional existente entre el contenido y el borde que lo encierra.
- Borde (border): línea que encierra completamente el contenido y su relleno.
- Imagen de fondo (background-image): imagen que se muestra por detrás del contenido y el espacio de relleno.
- Color de fondo (background-color): color que se muestra por detrás del contenido y el espacio de relleno.
- Margen (margin): espacio libre entre la caja y las posibles cajas adyacentes.
El relleno y el margen son transparentes, por lo que en el espacio ocupado por el relleno se muestra el color o imagen de fondo (si están definidos) y en el espacio ocupado por el margen se muestra el color o imagen de fondo de su elemento padre (si están definidos).
Si ningún elemento padre tiene definido un color o imagen de fondo, se muestra el color o imagen de fondo de la propia página (si están definidos).
Si una caja define tanto un color como una imagen de fondo, la imagen tiene más prioridad (está por encima) y es la que se visualiza. No obstante, si la imagen de fondo no cubre totalmente la caja del elemento o si la imagen tiene zonas transparentes, también se visualiza el color de fondo. Combinando convenientemente cada una de estas partes se obtienen resultados muy interesantes.
Fuente: http://librosweb.es/css/capitulo4.html
Respecto a la posición de la caja, se distinguen dos tipos de elementos HTML:
- Elementos de BLOQUE
- Elementos de LÍNEA
