Non-standard
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

This is a property of the original CSS Flexible Box Layout Module draft, and has been replaced by a newer standard. The -moz-box-direction will only be used for XUL while the previous standard box-direction has been replaced by flex-direction. See flexbox for information about the current standard.

The box-direction CSS property specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).

/* Keyword values */
box-direction: normal;
box-direction: reverse;

/* Global values */
box-direction: inherit;
box-direction: initial;
box-direction: unset;

Initial valuenormal
Applies toelements with a CSS display value of box or inline-box
Inheritedno
Mediavisual
Computed valueas specified
Animation typediscrete
Canonical orderthe unique non-ambiguous order defined by the formal grammar

Syntax

The box-direction property is specified as one of the keyword values listed below.

Values

normal
The box lays out its contents from the start (the left or top edge).
reverse
The box lays out its contents from the end (the right or bottom edge).

Formal syntax

normal | reverse | inherit

Examples

.example {
  /* bottom-to-top layout */
  -moz-box-direction: reverse;      /* Mozilla */
  -webkit-box-direction: reverse;   /* WebKit */
  box-direction: reverse;           /* As specified */
}

Notes

The edge of the box designated the start for layout purposes depends on the box's orientation:

Horizontal left
Vertical top

The edge opposite to the start is designated the end.

If the direction is set using the element's dir attribute, then the style is ignored.

Specifications

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes -webkit- 12 -webkit-

Yes -moz-

49 -webkit-

48 -webkit- 1

No Yes -webkit-

3 -webkit-

1.1 -khtml-

FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support ? ? Yes -webkit-

Yes -moz-

49 -webkit-

48 -webkit- 1

?1 -webkit- ?

1. From version 48: this feature is behind the layout.css.prefixes.webkit preference (needs to be set to true). To change preferences in Firefox, visit about:config.

See also

Document Tags and Contributors

Last updated by: fscholz,