This feature is well established and works across many devices and browser versions. It’s been available across browsers since February 2023.
The container shorthand CSS property establishes the element as a query container and specifies the name and type of the containment context used in a container query.
This property is a shorthand for the following CSS properties:
/* <container-name> */ container: my-layout; /* <container-name> / <container-type> */ container: my-layout / size; /* Global Values */ container: inherit; container: initial; container: revert; container: revert-layer; container: unset;
<container-name>A case-sensitive name for the containment context. More details on the syntax are covered in the container-name property page.
<container-type>The type of containment context. More details on the syntax are covered in the container-type property page.
| Initial value | as each of the properties of the shorthand:
|
|---|---|
| Applies to | all elements |
| Inherited | no |
| Percentages | as each of the properties of the shorthand:
|
| Computed value | as each of the properties of the shorthand:
|
| Animation type | as each of the properties of the shorthand:
|
container =
<'container-name'> [ / <'container-type'> ]?
<container-name> =
none |
<custom-ident>+
<container-type> =
normal |
[ [ size | inline-size ] || scroll-state ]
Given the following HTML example which is a card component with an image, a title, and some text:
<div class="post">
<div class="card">
<h2>Card title</h2>
<p>Card content</p>
</div>
</div>
The explicit way to create a container context is to declare a container-type with an optional container-name:
.post {
container-type: inline-size;
container-name: sidebar;
}
The container shorthand is intended to make this simpler to define in a single declaration:
.post {
container: sidebar / inline-size;
}
You can then target that container by name using the @container at-rule:
@container sidebar (width >= 400px) {
/* <stylesheet> */
}
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
container |
105 | 105 | 110 | 91 | 16 | 105 | 110 | 72 | 16 | 20.0 | 105 | 16 |
@container at-rulecontain propertycontainer-type propertycontainer-name propertycontent-visibility property
© 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/container