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.

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

Warning: 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: revert;
box-direction: revert-layer;
box-direction: unset;

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



The box lays out its contents from the start (the left or top edge).


The box lays out its contents from the end (the right or bottom edge).


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

  • For horizontal elements, the start is the top edge.
  • For vertical elements, the start is the left edge.

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.

Formal definition

Initial valuenormal
Applies toelements with a CSS display value of box or inline-box
Computed valueas specified
Animation typediscrete

Formal syntax

box-direction =
  normal | reverse | inherit


Setting box direction

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


Not part of any standard.

Browser compatibility

BCD tables only load in the browser

See also