The place-items property is a shorthand for align-items and justify-items. It aligns each item inside its grid cell (or along the flex axes) in one declaration.
One value sets both axes. Two values set block first, then inline. It is not place-content, which moves the whole track group. Override one item with place-self.
Standard-track.
Not deprecated. Baseline widely available. Clearest in grid when cells are larger than the items.
Limited support anchor-center
The anchor-center keyword is newer and not ready for everyday use. Prefer center, start, end, and stretch.
No fixed item size. The children have no width or height, so stretch can work.
Same large cells. Tracks still define 100×80 boxes.
Fill both axes.place-items: stretch grows each item to the cell size.
Contrast with center. Add a fixed size again and switch to center to see the spare room return.
Edge Cases & Pitfalls
If items do not move, one of these is usually why.
size
Items as large as the cell hide positional keywords
If an item already fills its cell, center and end look identical. Use a smaller item size to see the effect.
stretch
Fixed size blocks stretch
A set width or height on the item wins. Leave those as auto when you want the item to fill the cell.
content
Not the same as place-content
place-content moves the track group. place-items moves each item inside its cell.
self
One item can override the container
place-self (or align-self / justify-self) on a child beats the container’s place-items.
order
Remember block then inline
place-items: start end is not the same as end start. First = align-items, second = justify-items.
Compatibility
Browser Support
place-items is a browser layout property for flex and grid. Node.js, Deno, and Bun do not apply it.
✓ Baseline · Widely available since Jan 2020
place-items
Chrome 59+, Firefox 45+, Safari 11+, Edge 79+, Opera 46+, Samsung Internet 7.2+. Internet Explorer has no support.
97%Modern browser support
Google Chrome59+
Full support
Mozilla Firefox45+
Full support
Apple Safari11+
Full support
Microsoft Edge79+
Full support
Opera46+
Full support
Samsung Internet7.2+
Full support
Internet ExplorerNo support
None
place-itemsWidely supported
Bottom line: Safe in current browsers for common keywords. For Internet Explorer, set align-items and justify-items as separate longhands. Treat anchor-center as progressive enhancement.
Remember
Key Takeaways
Role: shorthand for aligning each item in its cell (align-items + justify-items).
Common values:center, start end, stretch, end.
Initial value: follows the longhands (normal / legacy). Not inherited.
Contrast:place-items aims each item; place-content aims the whole track group.
One line:place-items: center is the quick way to center every grid item in its cell.
Frequently Asked Questions
It is a shorthand for align-items and justify-items. It aligns each item inside its grid cell (or along the flex cross and main axes) in one declaration.
place-items aligns each item in its own cell. place-content packs or spreads the whole group of tracks or flex lines inside the container.
A single value sets both align-items and justify-items. For example, place-items: center centers every item in its cell on both axes.
The first value is align-items (block axis). The second is justify-items (inline axis). Example: place-items: start end.
A fixed width or height on the item blocks stretch on that axis. Leave the size as auto if you want the item to fill the cell.
It is Baseline and widely available since January 2020: Chrome 59+, Firefox 45+, Safari 11+, Edge 79+. Internet Explorer does not support it. It is a browser layout property, not a Node.js feature.