flex
Quick Summary for flex
The flex CSS shorthand property sets how a flex item will grow or shrink to fit the space available in its flex container.
Code Usage for flex

<pre class="brush: css notranslate"><code><span class="token comment">/ Keyword values /</span> <span class="token property">flex</span><span class="token punctuation">:</span> auto<span class="token punctuation">;</span> <span class="token property">flex</span><span class="token punctuation">:</span> initial<span class="token punctuation">;</span> <span class="token property">flex</span><span class="token punctuation">:</span> none<span class="token punctuation">;</span> <span class="token comment">/ One value, unitless number: flex-grow flex-basis is then equal to 0. /</span> <span class="token property">flex</span><span class="token punctuation">:</span> 2<span class="token punctuation">;</span> <span class="token comment">/ One value, width/height: flex-basis /</span> <span class="token property">flex</span><span class="token punctuation">:</span> 10em<span class="token punctuation">;</span> <span class="token property">flex</span><span class="token punctuation">:</span> 30%<span class="token punctuation">;</span> <span class="token property">flex</span><span class="token punctuation">:</span> min-content<span class="token punctuation">;</span> <span class="token comment">/ Two values: flex-grow | flex-basis /</span> <span class="token property">flex</span><span class="token punctuation">:</span> 1 30px<span class="token punctuation">;</span> <span class="token comment">/ Two values: flex-grow | flex-shrink /</span> <span class="token property">flex</span><span class="token punctuation">:</span> 2 2<span class="token punctuation">;</span> <span class="token comment">/ Three values: flex-grow | flex-shrink | flex-basis /</span> <span class="token property">flex</span><span class="token punctuation">:</span> 2 2 10%<span class="token punctuation">;</span> <span class="token comment">/ Global values /</span> <span class="token property">flex</span><span class="token punctuation">:</span> inherit<span class="token punctuation">;</span> <span class="token property">flex</span><span class="token punctuation">:</span> initial<span class="token punctuation">;</span> <span class="token property">flex</span><span class="token punctuation">:</span> revert<span class="token punctuation">;</span> <span class="token property">flex</span><span class="token punctuation">:</span> unset<span class="token punctuation">;</span> </code></pre>

More Details for flex

flex

The flex CSS shorthand property sets how a flex item will grow or shrink to fit the space available in its flex container.

Constituent properties

This property is a shorthand for the following CSS properties:

flex-grow flex-shrink flex-basis

Syntax

/* Keyword values */ flex: auto; flex: initial; flex: none;  /* One value, unitless number: flex-grow flex-basis is then equal to 0. */ flex: 2;  /* One value, width/height: flex-basis */ flex: 10em; flex: 30%; flex: min-content;  /* Two values: flex-grow | flex-basis */ flex: 1 30px;  /* Two values: flex-grow | flex-shrink */ flex: 2 2;  /* Three values: flex-grow | flex-shrink | flex-basis */ flex: 2 2 10%;  /* Global values */ flex: inherit; flex: initial; flex: revert; flex: unset; 

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

One-value syntax: the value must be one of: a <number>: In this case it is interpreted as flex: <number> 1 0; the flex-shrink value is assumed to be 1 and the flex-basis value is assumed to be 0. a <width>: In this case it is interpreted as flex: 1 1 <width>; the flex-grow value is assumed to be 1 and the flex-shrink value is assumed to be 1. one of the keywords: none, auto, or initial. Two-value syntax: The first value must be: a <number> and it is interpreted as <flex-grow>. The second value must be one of: a <number>: then it is interpreted as <flex-shrink>. a valid value for width: then it is interpreted as <flex-basis>. Three-value syntax: the values must be in the following order: a <number> for <flex-grow>. a <number> for <flex-shrink>. a valid value for width for <flex-basis>.

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 flex-grow of the flex item. Negative values are considered invalid. Defaults to 1 when omitted. (initial is 0)

<'flex-shrink'>

Defines the flex-shrink of the flex item. Negative values are considered invalid. Defaults to 1 when omitted. (initial is 1)

<'flex-basis'>

Defines the 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. (initial is auto)

Description

For most purposes, authors should set flex to one of the following values: auto, initial, none, or a positive unitless number. To see the effect of these values, try resizing the flex containers below:

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

Formal definition

Initial valueas each of the properties of the shorthand:flex-grow: 0flex-shrink: 1flex-basis: auto
Applies toflex items, including in-flow pseudo-elements
Inheritedno
Computed valueas each of the properties of the shorthand:flex-grow: as specifiedflex-shrink: as specifiedflex-basis: as specified, but with relative lengths converted into absolute lengths
Animation typeas each of the properties of the shorthand:flex-grow: a numberflex-shrink: a numberflex-basis: a length, percentage or calc();

Formal syntax

none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]

Examples

Setting flex: auto

HTML
<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> 
CSS
#flex-container {   display: flex;   flex-direction: row; }  #flex-container > .flex-item {   flex: auto; }  #flex-container > .raw-item {   width: 5rem; } 
Result

Specifications

Specification
CSS Flexible Box Layout Module Level 1 # flex-property

See also

CSS Flexbox Guide: Basic Concepts of Flexbox CSS Flexbox Guide: Controlling Ratios of flex items along the main axis

Last modified: Feb 2, 2022, by MDN contributors

Select your preferred language English (US)EspañolFrançais日本語한국어Português (do Brasil)Русский中文 (简体) Change language

No Items Found.

Add Comment
Type in a Nick Name here
 
Other Categories in CSS
css
Search CSS
Search CSS by entering your search text above.
Welcome

This is my test area for webdev. I keep a collection of code here, mostly for my reference. Also if i find a good link, i usually add it here and then forget about it. more...

You could also follow me on twitter. I have a couple of youtube channels if you want to see some video related content. RuneScape 3, Minecraft and also a coding channel here Web Dev.

If you found something useful or like my work, you can buy me a coffee here. Mmm Coffee. ☕

❤️👩‍💻🎮

🪦 2000 - 16 Oct 2022 - Boots
Random Quote
Why did Odeo fail? Lack of Focus
Evan Williams, co-founder of Twitter and Blogger, failed with his first startup, Odeo. What went wrong with Odeo? Williams' first startup was a podcasting company that failed due to a lack of focus. He learned that it's important to stay focused and adapt to changes in the market.
Odeo
Latest News
## 🚀 AI Giants Hit Bullseye: Anthropic & OpenAI Achieve Product-Market Fit Anthropic and OpenAI have reached a significant milestone, finding product-market fit with their AI technologies, which means their products effectively meet the needs of their customers, driving growth and adoption. This achievement showcases the practical value of their innovations, enabling businesses and individuals to leverage AI for enhanced productivity and efficiency. With this alignment of product and market needs, these companies are poised to transform industries and shape the future of technology.