Ilustración del tutorial de Margin y padding en CSS

Margin y padding en CSS: diferencias con ejemplos claros

La diferencia entre margin y padding en CSS está en dónde añaden espacio. padding separa el contenido del borde de su caja; margin establece espacio fuera del borde, respecto a otros elementos.

Si el texto está demasiado cerca del borde de una tarjeta, ajusta el padding. Si dos tarjetas se tocan, necesitas separación exterior, que puede venir de un margen o del gap del contenedor.

Ejemplo sencillo para ver la diferencia

<article class="tarjeta">
  <h2>Tu próximo proyecto</h2>
  <p>Una tarjeta con espacio interior y exterior.</p>
</article>
<style>
  .tarjeta {
    padding: 24px;
    margin: 32px 16px;
    border: 2px solid #2563eb;
    border-radius: 12px;
    background: #eef6ff;
  }
  .tarjeta h2 { margin-top: 0; }
  .tarjeta p { margin-bottom: 0; }
</style>

El fondo azul claro pinta el área interior, incluido el padding, pero no el margen. Ese detalle ayuda a localizar dónde se está creando un espacio en blanco.

Cómo leer uno, dos, tres o cuatro valores

.uno { padding: 20px; }
.dos { padding: 16px 24px; }
.tres { padding: 12px 24px 20px; }
.cuatro { padding: 10px 20px 30px 40px; }

Un valor se aplica a los cuatro lados. Dos valores corresponden a vertical y horizontal. Tres indican arriba, lados y abajo. Cuatro siguen el orden superior, derecho, inferior e izquierdo. La misma lectura se aplica al shorthand margin.

También puedes usar propiedades lógicas como padding-inline y margin-block, que se adaptan al modo de escritura.

Por qué una caja mide más de lo que esperabas

Con box-sizing: content-box, un ancho de 300 píxeles se refiere al contenido. Si añades 20 píxeles de padding por lado y un borde de 2 por lado, la caja del borde alcanza 344 píxeles. El margen queda fuera de esa cuenta.

*, *::before, *::after { box-sizing: border-box; }
.tarjeta { width: 300px; max-width: 100%; padding: 20px; border: 2px solid; }

Con border-box, el ancho declarado incluye padding y borde. El margen sigue sin incluirse. Esto facilita combinar tamaños y espacios sin desbordar el contenedor.

Por qué dos márgenes no siempre se suman

En el flujo de bloques, determinados márgenes verticales pueden colapsar. Dos márgenes positivos adyacentes de 20 y 30 píxeles pueden dejar 30, en lugar de 50. El fenómeno depende del contexto y también puede ocurrir entre padres e hijos.

Los márgenes entre elementos de un contenedor flex o grid no colapsan de esa manera. Para separar componentes en esos diseños, gap suele expresar mejor la intención.

Cómo investigar un espacio inesperado

  1. Selecciona el elemento en las herramientas del navegador.
  2. Revisa su modelo de caja y los estilos calculados.
  3. Comprueba márgenes predeterminados de títulos y párrafos.
  4. Revisa el padding del padre y el gap del contenedor.

Evita arreglar cada espacio con márgenes negativos: pueden esconder un problema de estructura y romper otros tamaños.

Preguntas frecuentes

¿Padding admite valores negativos?

No. Margin sí puede admitirlos, aunque requiere revisar qué elementos se solapan.

¿Margin auto centra siempre?

No. Depende del contexto de formato y del espacio disponible. Consulta cómo centrar un div para ver los casos adecuados.

Practica cambiando los valores con el inspector abierto y continúa en Aprender CSS.

Referencia técnica: documentación de MDN.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

logo mastercode pro
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

Puedes ver mas detalle en nuestra pagina de privcidad