Modelo de Caja en CSS
¿Qué es el modelo de cajas en CSS?
El modelo de cajas es una de las bases fundamentales del diseño en CSS. Este modelo describe cómo el navegador interpreta y organiza visualmente cada elemento HTML como si fuera una “caja”, compuesta por diferentes áreas que determinan su tamaño y espacio en la página.
Cada elemento se representa como una caja rectangular que se divide en las siguientes partes:
- Contenido (content): el área donde se muestra el texto o elementos hijos.
- Relleno (padding): el espacio interno entre el contenido y el borde.
- Borde (border): el límite que encierra al contenido y al padding.
- Margen (margin): el espacio exterior que separa la caja de otros elementos.
Estas zonas pueden modificarse individualmente mediante propiedades CSS, ajustando dimensiones, colores y estilos para controlar con precisión la presentación de los elementos.
Estructura del modelo de caja
Parte | Función |
---|---|
Contenido | Área donde se muestra el texto o los elementos internos del HTML. |
Padding | Espacio interior entre el contenido y el borde. |
Border | Línea que delimita el borde exterior del elemento. |
Margin | Espacio externo que separa el elemento de otros elementos adyacentes. |
Cada caja HTML tiene su propia configuración de estos elementos, y su correcta manipulación es esencial para lograr maquetaciones limpias y bien distribuidas.
Direcciones y zonas específicas
En CSS, es común utilizar palabras clave para referirse a zonas específicas del modelo de caja. Estas se aplican al definir propiedades relacionadas con posición, espaciado y alineación:
Palabra clave | Significado |
---|---|
top | Parte superior del elemento. |
right | Parte derecha. |
bottom | Parte inferior. |
left | Parte izquierda. |
center | Zona central (usada en ciertas propiedades). |
Estas direcciones son esenciales para aplicar estilos específicos, como margin-top
, padding-left
, border-bottom
, entre otros.
El fenómeno del “colapso de márgenes” (margin collapse)
Uno de los comportamientos menos intuitivos del modelo de cajas es el colapso de márgenes. Este ocurre principalmente en modelos de maquetación tradicionales como block
e inline
.
Imagina dos elementos HTML colocados uno debajo del otro, cada uno con un margen vertical de 20px
. Lo lógico sería pensar que entre ambos hay un espacio de 40px
, pero en realidad, CSS colapsa esos márgenes y solo aplica el mayor de los dos, en este caso, 20px
.
Este comportamiento puede generar confusión al principio, pero es importante entenderlo, ya que influye en cómo se estructura el espacio entre elementos.
cssCopiarEditar.elemento1 {
margin-bottom: 20px;
}
.elemento2 {
margin-top: 20px;
}
/* El espacio real entre ambos será de 20px, no 40px */
Es importante señalar que este efecto no ocurre en modelos más avanzados como flex
o grid
, donde los márgenes se respetan por separado, eliminando este tipo de colisión.
En resumen, el modelo de cajas es esencial para entender cómo se construyen y posicionan los elementos en una página web. Dominarlo es clave para crear diseños coherentes, bien estructurados y visualmente equilibrados.