--- title: flex slug: Web/CSS/flex translation_of: Web/CSS/flex ---
{{CSSRef}}

A propriedade flex do CSS, define como um ítem será posicionado para no espaço disponível dentro de seu container.

{{EmbedInteractiveExample("pages/css/flex.html")}}

Propriedades

Esta propriedade é uma abreviação das seguintes propriedades CSS:

{{EmbedLiveSample("flex", 1200, 370, "", "", "example-outcome-frame")}}

By default flex items don't shrink below their minimum content size. To change this, set the item's {{cssxref("min-width")}} or {{cssxref("min-height")}}.

Sintaxe

/* Propriedades principais */
flex: auto;
flex: initial;
flex: none;

/* Valor único, sem unidade: flex-grow */
flex: 2;

/* Valor único, unidade width/height: flex-basis */
flex: 10em;
flex: 30%;
flex: min-content;

/* Dois valores: flex-grow | flex-basis */
flex: 1 30px;

/* Dois valores: flex-grow | flex-shrink */
flex: 2 2;

/* Três valores: flex-grow | flex-shrink | flex-basis */
flex: 2 2 10%;

/* Valores globais */
flex: inherit;
flex: initial;
flex: unset;

The flex property may be specified using one, two, or three values.

Values

initial
The item is sized according to its width and height properties. It shrinks to its minimum size to fit the container, but does not grow to absorb any extra free space in the flex container. This is equivalent to setting "flex: 0 1 auto".
auto
The item is sized according to its width and height properties, but grows to absorb any extra free space in the flex container, and shrinks to its minimum size to fit the container. This is equivalent to setting "flex: 1 1 auto".
none
The item is sized according to its width and height properties. It is fully inflexible: it neither shrinks nor grows in relation to the flex container. This is equivalent to setting "flex: 0 0 auto".
<'flex-grow'>
Defines the {{cssxref("flex-grow")}} of the flex item. Negative values are considered invalid. Defaults to 1 when omitted.
<'flex-shrink'>
Defines the {{cssxref("flex-shrink")}} of the flex item. Negative values are considered invalid. Defaults to 1 when omitted.
<'flex-basis'>
Defines the {{cssxref("flex-basis")}} of the flex item. A preferred size of 0 must have a unit to avoid being interpreted as a flexibility. Defaults to 0 when omitted.

Formal syntax

{{csssyntax}}

Example

#flex-container {
  display: flex;
  flex-direction: row;
}

#flex-container > .flex-item {
  flex: auto;
}

#flex-container > .raw-item {
  width: 5rem;
}
<div id="flex-container">
  <div class="flex-item" id="flex">Flex box (click to toggle raw box)</div>
  <div class="raw-item" id="raw">Raw box</div>
</div>

Result

{{EmbedLiveSample('Example','100%','60')}}

Specifications

Specification Status Comment
{{SpecName('CSS3 Flexbox', '#flex-property', 'flex')}} {{Spec2('CSS3 Flexbox')}} Initial definition

{{cssinfo}}

Compatibilidade com navegadores

{{Compat("css.properties.flex")}}

See also