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.

Warning: This is a property of the original CSS Flexible Box Layout Module draft, and has been replaced by a newer standard.

The box-align CSS property specifies how an element aligns its contents across its layout in a perpendicular direction. The effect of the property is only visible if there is extra space in the box.

See flexbox for information about the current standard.

/* Keyword values */
box-align: start;
box-align: center;
box-align: end;
box-align: baseline;
box-align: stretch;

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

The direction of layout depends on the element's orientation: horizontal or vertical.

Initial valuestretch
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-align property is specified as one of the keyword values listed below.

Values

start
The box aligns contents at the start, leaving any extra space at the end.
center
The box aligns contents in the center, dividing any extra space equally between the start and the end.
end
The box aligns contents at the end, leaving any extra space at the start.
baseline
The box aligns the baselines of the contents (lining up the text). This only applies if the box's orientation is horizontal.
stretch
The box stretches the contents so that there is no extra space in the box.

Formal syntax

start | center | end | baseline | stretch

Examples

<!DOCTYPE html>
<html>
<head>
<title>CSS box-align example</title>
<style>
div.example {
  display: box;                   /* As specified */
  display: -moz-box;              /* Mozilla */
  display: -webkit-box;           /* WebKit */
	
  /* Make this box taller than the children, 
     so there is room for the box-pack */
  height: 400px;           
	
  /* Make this box wider than the children
     so there is room for the box-align */
  width: 300px;

  /* Children should be oriented vertically */
  box-orient: vertical;           /* As specified */
  -moz-box-orient: vertical;      /* Mozilla */
  -webkit-box-orient: vertical;   /* WebKit */

  /* Align children to the horizontal center of this box */
  box-align: center;              /* As specified */
  -moz-box-align: center;         /* Mozilla */
  -webkit-box-align: center;      /* WebKit */
	
  /* Pack children to the bottom of this box */
  box-pack: end;                  /* As specified */
  -moz-box-pack: end;             /* Mozilla */
  -webkit-box-pack: end;          /* WebKit */
}

div.example > p {            
  /* Make children narrower than their parent, 
     so there is room for the box-align */ 
  width: 200px;
}
</style>
</head>
<body>
  <div class="example">
    <p>I will be second from the bottom of div.example, centered horizontally.</p>
    <p>I will be on the bottom of div.example, centered horizontally.</p>
  </div>
</body>
</html>

Notes

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

Horizontal top
Vertical left

The edge opposite to the start is designated the end.

If the alignment is set using the element's align attribute, then the style is ignored.

Specifications

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Basic support
DeprecatedNon-standard
Chrome Full support Yes
Prefixed
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Edge Full support Yes
Prefixed
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Firefox Full support 49
Prefixed
Full support 49
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Full support 48
Prefixed Disabled
Prefixed Implemented with the vendor prefix: -webkit-
Disabled 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.
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: -moz-
IE No support NoOpera Full support Yes
Prefixed
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Safari Full support 3
Prefixed
Full support 3
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
No support 1.1 — ?
Prefixed
Prefixed Implemented with the vendor prefix: -khtml-
WebView Android Full support Yes
Prefixed
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Chrome Android Full support Yes
Prefixed
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Edge Mobile Full support Yes
Prefixed
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Firefox Android No support NoOpera Android Full support Yes
Prefixed
Full support Yes
Prefixed
Prefixed Implemented with the vendor prefix: -webkit-
Safari iOS ? Samsung Internet Android ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.
User must explicitly enable this feature.
User must explicitly enable this feature.
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.

See also