Box model en CSS: La propiedad margin

Había comentado en un anterior post  que el box model es un concepto para determinar como los elementos se posicionan dentro de un navegador. En este post hablaré de la siguiente propiedad importante del modelo de cajas, la propiedad margin.

La propiedad margin permite controlar el espacio entre cajas, y su valor puede ser en medida, porcentaje o inherit.

Los valores de margin no pasan a elementos hijos a no ser que se use el valor inherit.

El margin puede modificar las siguientes propiedades:

  • margin-bottom (inferior)
  • margin-top (superior)
  • margin-left (izquierda)
  • margin-right (derecha)

En caso de que 2 cajas estén encima de otra, sólo se mostrará el margin más grande. Esto es algo similar a lo que sucede en Word a la hora del espaciado entre párrafos. Si una caja tiene un margin-bottom de 20px y debajo de esta tiene otra caja con un margin-top de 30px, se mostraría un margin de 30px ya que es que tiene un valor mayor.

Caso práctico

Para el ejemplo voy a crear 2 párrafos con texto de relleno (Lorem Ipsum). Cada párrafo tiene un margen superior de 40px y un inferior de 30px, esto demostraría que la separación aplicada entre párrafos sea la mayor, es decir, de 40px. Además, los elementos em tendrán un margen a los lados de 8px .

CSS

HTML

En este ejemplo los márgenes top y bottom de los 2 <p> se colapsan. En este caso el border-top tiene prioridad al ser mayor. Si pones el bottom a 40px comprobarás que no ha habido ningún cambio.

propiedad margin - Ejemplo

Resultado del código anterior

También hay elementos <em> que se emplean para enfatizar un texto. Tiene margin-left y right para mostrar cómo quedaría usando elementos inline. El caso mencionado antes con los border-top y bottom no sucede con el left y right, sólo afecta a márgenes verticales.

Y hasta aquí el tutorial de hoy sobre la propiedad margin. Espero que os haya sido sencillo. Saludos y a seguir picando 🙂