container CSS propertyThe 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 definable 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> */
}@container at-rulecontain propertycontainer-type propertycontainer-name propertycontent-visibility property