CSS flex-direction Property

Description

The flex-direction property allows you to specify the direction in accordance with which the flex elements are located inside the flex container. The direction of flex elements is formed based on the position of two axes: the main axis of the flex container and its transverse axis , which is always located perpendicular to the main . The main axis in the ltr direction (the global HTML dir attribute, or the CSS direction property with ltr value) is located from left to right, and the transverse axis is from top to bottom (this is the default value), for the rtl value it is mirrored accordingly.

Initial value
row
Applies to
Flex containers
Inherited
No
Media
Visual
Computed value
As specified
Animatable
No
CSS Version
CSS3
JavaScript syntax
object.style.flexDirection

Syntax

flex-direction: row | row-reverse | column | column-reverse

Values

  • rowThe main axis is the same as the orientation of the text, by default, from left to right. If the dir value is specified as rtl, then the direction of the axis goes from right to left.
  • row-reverseIt looks like a row value, but the start and end points are swapped and the main axis is directed from right to left. If the dir value is specified as rtl , then the direction of the axis goes from left to right.
  • columnThe main axis is vertical and directed from top to bottom.
  • column-reverseThe main axis is vertical, but the position of the start and end points changes and the axis is directed from bottom to top.

Example

<h3>flex-direction: row;</h3> 
<div class="container"><div>A</div><div>B</div><div>C</div></div>
<h3>flex-direction: column;</h3>
<div class="container2"><div>A</div><div>B</div><div>C</div></div>
<h3>flex-direction: row-reverse;</h3>
<div class="container3"><div>A</div><div>B</div><div>C</div></div>
<h3>flex-direction: column-reverse;</h3>
<div class="container4"><div>A</div><div>B</div><div>C</div></div>
.container { 
   display: -webkit-flex;
   display: flex;
   -webkit-flex-direction: row;
   flex-direction: row;
} 
.container2 { 
   display: -webkit-flex;
   display: flex;
   -webkit-flex-direction: column;  
   flex-direction: column;  
} 
.container3 { 
   display: -webkit-flex;
   display: flex;
   -webkit-flex-direction: row-reverse;
   flex-direction: row-reverse;
} 
.container4 { 
   display: -webkit-flex;
   display: flex;
   -webkit-flex-direction: column-reverse;
   flex-direction: column-reverse;  
} 
div>div {
   width: 50px; 
   height: 50px;
   margin: 5px;
   border: 3px solid orange; 
}

Browser Support

Desktop
Explorer Edge Chrome Firefox Opera Safari
1112292012.19
Tablets / Mobile
Android Chrome Firefox Opera Safari Samsung
4.4292012.19?

Last updated by CSSPortal on: 5th November 2019


CSS Properties

align-content
align-items
align-self
all
animation
animation-delay
animation-direction
animation-duration
animation-fill-mode
animation-iteration-count
animation-name
animation-play-state
animation-timing-function
backface-visibility
background
background-attachment
background-blend-mode
background-clip
background-color
background-image
background-origin
background-position
background-repeat
background-size
border
border-bottom
border-bottom-color
border-bottom-left-radius
border-bottom-right-radius
border-bottom-style
border-bottom-width
border-collapse
border-color
border-image
border-image-outset
border-image-repeat
border-image-slice
border-image-source
border-image-width
border-left
border-left-color
border-left-style
border-left-width
border-radius
border-right
border-right-color
border-right-style
border-right-width
border-spacing
border-style
border-top
border-top-color
border-top-left-radius
border-top-right-radius
border-top-style
border-top-width
border-width
bottom
box-decoration-break
box-shadow
box-sizing
break-after
break-before
break-inside
caption-side
caret-color
clear
clip-path
color
column-count
column-fill
column-rule
column-rule-color
column-rule-style
column-rule-width
column-span
column-width
columns
content
counter-increment
counter-reset
counter-set
cursor
direction
display
empty-cells
filter
flex
flex-basis
flex-direction
flex-flow
flex-grow
flex-shrink
flex-wrap
float
font
font-family
font-feature-settings
font-kerning
font-language-override
font-size
font-size-adjust
font-stretch
font-style
font-synthesis
font-variant
font-variant-alternates
font-variant-caps
font-variant-east-asian
font-variant-ligatures
font-variant-numeric
font-variant-position
font-weight
grid
grid-area
grid-auto-columns
grid-auto-flow
grid-auto-rows
grid-column
grid-column-end
grid-column-gap
grid-column-start
grid-gap
grid-row
grid-row-end
grid-row-gap
grid-row-start
grid-template
grid-template-areas
grid-template-columns
grid-template-rows
hanging-punctuation
height
hyphens
image-orientation
justify-content
justify-items
justify-self
left
letter-spacing
line-break
line-height
list-style
list-style-image
list-style-position
list-style-type
margin
margin-bottom
margin-left
margin-right
margin-top
max-height
max-width
min-height
min-width
mix-blend-mode
object-fit
object-position
opacity
order
orphans
outline
outline-color
outline-offset
outline-style
outline-width
overflow
overflow-wrap
overflow-x
overflow-y
padding
padding-bottom
padding-left
padding-right
padding-top
perspective
perspective-origin
place-content
place-items
place-self
position
quotes
resize
right
shape-image-threshold
shape-margin
shape-outside
tab-size
table-layout
text-align
text-align-last
text-combine-upright
text-decoration
text-decoration-color
text-decoration-line
text-decoration-style
text-emphasis
text-emphasis-color
text-emphasis-position
text-emphasis-style
text-indent
text-justify
text-orientation
text-overflow
text-shadow
text-transform
text-underline-position
top
transform
transform-origin
transform-style
transition
transition-delay
transition-duration
transition-property
transition-timing-function
unicode-bidi
vertical-align
visibility
white-space
widows
width
word-break
word-spacing
word-wrap
writing-mode
z-index