Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.
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. See flexbox for information about the current standard.
The -moz-box-pack and -webkit-box-pack CSS properties specify how a -moz-box or -webkit-box packs its contents in the direction of its layout. The effect of this is only visible if there is extra space in the box.
The direction of layout depends on the element's orientation: horizontal or vertical.
/* Keyword values */ box-pack: start; box-pack: center; box-pack: end; box-pack: justify; /* Global values */ box-pack: inherit; box-pack: initial; box-pack: unset;
The box-pack property is specified as one of the keyword values listed below.
startThe box packs contents at the start, leaving any extra space at the end.
centerThe box packs contents in the center, dividing any extra space equally between the start and the end.
endThe box packs contents at the end, leaving any extra space at the start.
justifyThe space is divided evenly in-between each child, with none of the extra space placed before the first child or after the last child. If there is only one child, treat the value as if it were start.
The edge of the box designated the start for packing purposes depends on the box's orientation and direction:
| Normal | Reverse | |
|---|---|---|
| Horizontal | left | right |
| Vertical | top | bottom |
The edge opposite to the start is designated the end.
If the packing is set using the element's pack attribute, then the style is ignored.
| Initial value | start |
|---|---|
| Applies to | elements with a CSS display value of -moz-box, -moz-inline-box, -webkit-box or -webkit-inline-box
|
| Inherited | no |
| Computed value | as specified |
| Animation type | discrete |
box-pack =
start |
center |
end |
justify
div.example {
border-style: solid;
display: -moz-box; /* Mozilla */
display: -webkit-box; /* WebKit */
/* Make this box taller than the children,
so there is room for the box-pack */
height: 300px;
/* Make this box wide enough to show the contents
are centered horizontally */
width: 300px;
/* Children should be oriented vertically */
-moz-box-orient: vertical; /* Mozilla */
-webkit-box-orient: vertical; /* WebKit */
/* Align children to the horizontal center of this box */
-moz-box-align: center; /* Mozilla */
-webkit-box-align: center; /* WebKit */
/* Pack children to the bottom of this box */
-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;
}
<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>
Not part of any standard.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
box-pack |
1 | 12 | 491 | 15 | 31.1–3 | 18 | 494 | 14 | 1 | 1.0 | 4.4 | 1 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/box-pack