The CSS place-items
shorthand property aligns items along both the block and inline directions at once. It sets the values of the align-items
and justify-items
properties. If the second value is not set, the first value is also used for it.
place-items
Try it
Constituent properties
This property is a shorthand for the following CSS properties:
Syntax
/* Positional alignment */ place-items: center; place-items: normal start; place-items: center normal; place-items: start legacy; place-items: end normal; place-items: self-start legacy; place-items: self-end normal; place-items: flex-start legacy; place-items: flex-end normal; place-items: anchor-center; /* Baseline alignment */ place-items: baseline normal; place-items: first baseline legacy; place-items: last baseline normal; place-items: stretch legacy; /* Global values */ place-items: inherit; place-items: initial; place-items: revert; place-items: revert-layer; place-items: unset;
Values
One of the following forms:
- A single
align-items
value, which is used to set alignment in both block and inline directions. - An
align-items
value, which sets alignment in the block direction, followed by ajustify-items
value, which sets alignment in the inline direction.
Formal definition
Initial value | as each of the properties of the shorthand:
|
---|---|
Applies to | all elements |
Inherited | no |
Computed value | as each of the properties of the shorthand:
|
Animation type | discrete |
Formal syntax
place-items =
<'align-items'> <'justify-items'>?
<align-items> =
normal |
stretch |
<baseline-position> |
[ <overflow-position>? <self-position> ] |
anchor-center
<justify-items> =
normal |
stretch |
<baseline-position> |
<overflow-position>? [ <self-position> | left | right ] |
legacy |
legacy && [ left | right | center ] |
anchor-center
<baseline-position> =
[ first | last ]? &&
baseline
<overflow-position> =
unsafe |
safe
<self-position> =
center |
start |
end |
self-start |
self-end |
flex-start |
flex-end
Examples
Placing items in a flex container
In flexbox justify-self
or justify-items
do not apply, as on the main axis items are treated as a group. Therefore, the second value will be ignored.
CSS
#container { height: 200px; width: 240px; place-items: stretch; /* You can change this value by selecting another option in the list */ background-color: #8c8c8c; display: flex; }
Result
Placing items in a grid container
The following grid container has items which are smaller than the grid areas they are placed in, therefore place-items
will move them in the block and inline dimensions.
CSS
#grid-container { height: 200px; width: 240px; place-items: stretch; /* You can change this value by selecting another option in the list */ background-color: #8c8c8c; display: grid; grid-template-columns: repeat(3, 1fr); } #grid-container > div { width: 50px; }
Result
Specifications
Specification |
---|
CSS Box Alignment Module Level 3 # place-items-property |
Browser compatibility
Desktop | Mobile | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | |
place-items |
59 | 79 | 45 | 46 | 11 | 59 | 45 | 43 | 11 | 7.0 | 59 |
anchor-center |
125 | 125 | No | 111 | No | 125 | No | 83 | No | 27.0 | 125 |
flex_context |
59 | 79 | 45 | 46 | 11 | 59 | 45 | 43 | 11 | 7.0 | 59 |
grid_context |
59 | 79 | 45 | 46 | 11 | 59 | 45 | 43 | 11 | 7.0 | 59 |
See also
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/place-items