container-name
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Februar 2023.
Die container-name CSS Eigenschaft gibt eine Liste von Abfragenamen für Container an, die von der @container At-Regel in einer Containerabfrage verwendet werden. Eine Containerabfrage wendet Stile auf Elemente basierend auf der Größe oder dem Scroll-Status des nächstgelegenen Vorfahren mit einem Containment-Kontext an. Wenn einem Containment-Kontext ein Name gegeben wird, kann er gezielt mit der @container At-Regel anstelle des nächstgelegenen Vorfahren mit Containment angesprochen werden.
Syntax
container-name: none;
/* A single name */
container-name: my-layout;
/* Multiple names */
container-name: my-page-layout my-component-library;
/* Global Values */
container-name: inherit;
container-name: initial;
container-name: revert;
container-name: revert-layer;
container-name: unset;
Werte
none-
Standardwert. Der Abfragecontainer hat keinen Namen.
<custom-ident>-
Eine groß- und kleinschreibungssensitive Zeichenkette, die zur Identifizierung des Containers verwendet wird. Folgende Bedingungen gelten:
- Der Name darf nicht
or,and,notoderdefaultentsprechen. - Der Name darf nicht in Anführungszeichen stehen.
- Der gestrichelte Identifikator, der dazu gedacht ist, von Autoren definierte Bezeichner anzugeben (z. B.
--container-name), ist zulässig. - Es ist erlaubt, eine Liste mehrerer Namen, getrennt durch ein Leerzeichen, anzugeben.
- Der Name darf nicht
Formale Definition
| Anfangswert | none |
|---|---|
| Anwendbar auf | alle Elemente |
| Vererbt | Nein |
| Berechneter Wert | none or an ordered list of identifiers |
| Animationstyp | Not animatable |
Formale Syntax
container-name =
none |
<custom-ident>+
Beispiele
>Verwenden eines Container-Namens
Gegeben ist das folgende HTML-Beispiel, das eine Kartenkomponente mit einem Titel und etwas Text ist:
<div class="card">
<div class="post-meta">
<h2>Card title</h2>
<p>My post details.</p>
</div>
<div class="post-excerpt">
<p>
A preview of my <a href="https://example.com">blog post</a> about cats.
</p>
</div>
</div>
Um einen Containment-Kontext zu erstellen, fügen Sie die container-type Eigenschaft zu einem Element in CSS hinzu.
Das folgende Beispiel erstellt zwei Containment-Kontexte, einen für die Karten-Metainformationen und einen für den Auszug des Beitrags:
Hinweis:
Eine Kurzsyntax für diese Deklarationen ist auf der container Seite beschrieben.
.post-meta {
container-type: inline-size;
}
.post-excerpt {
container-type: inline-size;
container-name: excerpt;
}
Das Schreiben einer Container-Abfrage mittels der @container At-Regel wird Stile auf die Elemente des Containers anwenden, wenn die Abfrage als wahr ausgewertet wird. Das folgende Beispiel hat zwei Container-Abfragen, eine, die nur auf den Inhalt des .post-excerpt Elements angewendet wird und eine, die auf den Inhalt sowohl von .post-meta als auch von .post-excerpt angewendet wird:
@container excerpt (width >= 400px) {
p {
visibility: hidden;
}
}
@container (width >= 400px) {
p {
font-size: 2rem;
}
}
Für weitere Informationen zum Schreiben von Container-Abfragen, siehe die CSS-Containerabfragen Seite.
Verwenden mehrerer Container-Namen
Sie können auch mehrere Namen für einen Container-Kontext angeben, die durch ein Leerzeichen getrennt sind:
.post-meta {
container-type: inline-size;
container-name: meta card;
}
Dies ermöglicht es Ihnen, den Container mit einem der beiden Namen in der @container At-Regel anzusprechen. Dies ist nützlich, wenn Sie denselben Container mit mehreren Containerabfragen ansprechen möchten, bei denen entweder Bedingung zutreffen könnte:
@container meta (width <= 500px) {
p {
visibility: hidden;
}
}
@container card (width <= 200px) {
h2 {
font-size: 1.5em;
}
}
Spezifikationen
| Specification |
|---|
| CSS Conditional Rules Module Level 5> # container-name> |
Browser-Kompatibilität
Loading…
Siehe auch
- CSS-Containerabfragen
- Verwendung von Containergrößen- und Stilabfragen
- Verwendung von Container-Scroll-Status-Abfragen
@containerAt-Regel- CSS
containerKurzschreibweise - CSS
container-typeEigenschaft - CSS
content-visibilityEigenschaft