--- title: flex-grow slug: Web/CSS/flex-grow tags: - CSS - Elementos flexibles - Propiedades CSS translation_of: Web/CSS/flex-grow ---
{{CSSRef}}

Resumen

La propiedad flex-grow de CSS especifica el factor de crecimiento de un elemento flexible (que tiene asignado display:flex), en su dirección principal. El factor de crecimiento especifica qué cantidad del espacio restante dentro del contenedor flexible, debería ocupar el item en cuestión.

La dirección principal puede ser la altura o el ancho del elemento, dependiendo del valor de {{cssxref("flex-direction")}}. 

El espacio restante es el tamaño del contenedor flexible menos el tamaño de todos los elementos flexibles juntos. Si todos los ítems dentro del contenedor tienen el mismo factor de crecimiento, todos los elementos reciben la misma cantidad del espacio restante. De lo contrario, el espacio restante se distribuye en función de los diferentes factores de crecimientos de cada item.

{{cssinfo}}

Ver Usando las cajas flexibles en CSS para más propiedades e información.

Sintaxis

/* <number> valores */
flex-grow: 3;
flex-grow: 0.6;

/* Valores globales */
flex-grow: inherit;
flex-grow: initial;
flex-grow: unset;

Valores

<number>
Ver {{cssxref("<number>")}}. Los valores negativos no son válidos.

Sintaxis formal

{{csssyntax}}

Ejemplo

HTML

<h4>This is a Flex-Grow</h4>
<h5>A,B,C and F are flex-grow:1 . D and E are flex-grow:2 .</h5>
<div id="content">
  <div class="box" style="background-color:red;">A</div>
  <div class="box" style="background-color:lightblue;">B</div>
  <div class="box" style="background-color:yellow;">C</div>
  <div class="box1" style="background-color:brown;">D</div>
  <div class="box1" style="background-color:lightgreen;">E</div>
  <div class="box" style="background-color:brown;">F</div>
</div>

CSS

#content {
  -ms-box-orient: horizontal;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -moz-flex;
  display: -webkit-flex;
  display: flex;

  -webkit-justify-content: space-around;
  justify-content: space-around;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-align-items: stretch;
  align-items: stretch;
}

.box {
  flex-grow: 1;
  border: 3px solid rgba(0,0,0,.2);
}

.box1 {
  flex-grow: 2;
  border: 3px solid rgba(0,0,0,.2);
}

Resultado

{{EmbedLiveSample('Example', '700px', '300px', '', 'Web/CSS/flex-grow')}}

Especificaciones

Especificación Estado Comentario
{{SpecName('CSS3 Flexbox','#flex-grow','flex-grow')}} {{Spec2('CSS3 Flexbox')}} Definición inicial

Compatibilidad de Navegadores

{{CompatibilityTable}}

Característica Firefox (Gecko) Chrome Internet Explorer Opera Safari
Soporte Básico {{CompatGeckoDesktop("18.0")}}[1] 21.0{{property_prefix("-webkit")}} 11 12.10 6.1{{property_prefix("-webkit")}}
< 0 animate {{CompatGeckoDesktop("32.0")}}[2] 49.0 {{CompatUnknown}} {{CompatNo}} {{CompatNo}}
Característica Firefox Mobile (Gecko) Android IE Phone Opera Mobile Safari Mobile
Soporte Básico {{CompatGeckoMobile("18.0")}}[1] {{CompatUnknown}} {{CompatNo}} 12.10 {{CompatNo}}
< 0 animate {{CompatGeckoDesktop("32.0")}}[2] {{CompatUnknown}} {{CompatUnknown}} {{CompatNo}} {{CompatNo}}

[1] Firefox soporta sólo Caja flexible de línea simple hasta Firefox 27. Para activar el soporte de caja flexible para Firefox 18 y 19, el usuario tiene que cambiar en preferencias about:config el layout.css.flexbox.enabled en true.

Además del soporte sin prefijo, Gecko 48.0 {{geckoRelease("48.0")}} añade soporte para un prefijo -webkit en versión porpietaria por razones compatibilidad web bajo la preferencia layout.css.prefixes.webkit, por defecto en false. Desde Gecko 49.0 {{geckoRelease("49.0")}} la preferencia por defecto está en true.

[2] Antes de Firefox 32, Gecko no era capaz de animar los valores de inicio o parada en 0(SpecDemo).

Ver también