--- title: margin slug: Web/CSS/margin translation_of: Web/CSS/margin translation_of_original: Web/CSS/margin-new ---
{{CSSRef}}

Resumen

La propiedad CSS margin establece el margen para los cuatro lados. Es una abreviación para evitar tener que establecer cada lado por separado con las otras propiedades de margen:  {{ cssxref("margin-top") }}, {{ cssxref("margin-right") }}, {{ cssxref("margin-bottom") }} y {{ cssxref("margin-left") }}.

También se permiten valores negativos.

{{cssinfo}}

Sintaxis

/* Aplica a todos los cuatro lados */
margin: 1em;

/* Vertical | Horizontal */
margin: 5% auto;

/* Arriba | Horizontal | Abajo */
margin: 1em auto 2em;

/* Arriba | Derecha | Abajo | Izquierda */
margin: 2px 1em 0 auto;

/* Valores globales */
margin: inherit;
margin: initial;
margin: unset;

Valores

Acepta uno, dos , tres  o cuatro valores de los siguientes:

<length>
Especifica un ancho fijo. Valores negativos son permitidos. Mira {{cssxref("<length>")}} para conocer las posibles unidades.
<percentage>
Un {{cssxref("<percentage>")}} relativo al ancho del bloque contenedor. Se permiten valores negativos.
auto
auto es reemplazado por algún valor apropiado. Por ejemplo, puede usarse para centrar horizontalmente un elemento bloque.
div { width:50%;  margin:0 auto; } centrará el div horizontalmente.

Sintaxis formal

{{csssyntax}}

Ejemplos

Ejemplo simple

HTML

<div class="ex1">
  margin:     auto;
  background: gold;
  width:      66%;
</div>
<div class="ex2">
  margin:     20px 0 0 -20px;
  background: gold;
  width:      66%;
</div>

CSS

.ex1 {
  margin: auto;
  background: gold;
  width: 66%;
}
.ex2 {
  margin: 20px 0px 0 -20px;
  background: gold;
  width: 66%;
}

{{ EmbedLiveSample('Simple_example') }}

Otro ejemplo

margin: 5%;                /* 5% para todos los lados */

margin: 10px;              /* 10px para todos los lados */

margin: 1.6em 20px;        /* 1.6em arriba y abajo, 20px izquierda y derecha */

margin: 10px 3% 1em;       /* 10px arriba, 3% izquierda y derecha, 1em abajo */

margin: 10px 3px 30px 5px; /* 10px arriba, 3px derecha, 30px abajo, 5px izquierda */

margin: 1em auto;          /* 1em arriba y abajo, centrado horizontalmente */

margin: auto;              /* 0px de margen vertical, centrado horizontalmente */

Centrado horizontal con  margin: 0 auto;

Para centrar algo horizontalmente en navegadores modernos, usa display: flex; justify-content: center; .

Sin embargo, en navegadores antiguos como IE8-9, flexbox no está disponible. Para poder centrar un elemento horizontalmente con respecto a su contenedor, usa margin: 0 auto;

Especificaciones

Specification Status Comment
{{ SpecName('CSS3 Box', '#margin', 'margin') }} {{ Spec2('CSS3 Box') }} No significant change
{{ SpecName('CSS3 Transitions', '#animatable-css', 'margin') }} {{ Spec2('CSS3 Transitions') }} Defines margin as animatable.
{{ SpecName('CSS2.1', 'box.html#margin-properties', 'margin') }} {{ Spec2('CSS2.1') }} Removes its effect on inline elements.
{{ SpecName('CSS1', '#margin', 'margin') }} {{ Spec2('CSS1') }} Initial definition

Compatibilidad en navegadores

{{CompatibilityTable}}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 1.0 {{ CompatGeckoDesktop("1") }} 3.0 3.5 1.0 (85)
auto value 1.0 {{ CompatGeckoDesktop("1") }} 6.0 (strict mode) 3.5 1.0 (85)
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 1.0 {{ CompatGeckoMobile("1") }} 6.0 6.0 1.0

 

Ver también