container-name
Baseline 2023Newly available
Since February 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Die container-name-Eigenschaft (CSS) gibt eine Liste von Abfragecontainer-Namen an, die von der @container-Regel in einer Container-Abfrage verwendet werden.
Eine Container-Abfrage wendet Stile auf Elemente basierend auf der Größe oder dem Scroll-Zustand des nächstgelegenen Vorfahren mit einem Containment-Kontext an.
Wenn einem Containment-Kontext ein Name gegeben wird, kann dieser spezifisch mit der @container
-Regel und nicht mit dem nächstgelegenen Vorfahren mit Containment angesprochen werden.
Hinweis:
Wenn Sie die Eigenschaften container-type
und container-name
verwenden, werden die Werte style
und layout
der Eigenschaft contain
automatisch angewendet.
Syntax
container-name: none;
/* A single name */
container-name: myLayout;
/* Multiple names */
container-name: myPageLayout myComponentLibrary;
/* 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ß-/Kleinschreibung beachtende Zeichenkette, die verwendet wird, um den Container zu identifizieren. Die folgenden Bedingungen gelten:
- Der Name darf nicht
or
,and
,not
oderdefault
entsprechen. - Der Name darf nicht in Anführungszeichen stehen.
- Der gestrichelte Identifikationsname, der dazu gedacht ist, benutzerdefinierte Identifikatoren zu kennzeichnen (z. B.
--container-name
), ist erlaubt. - Eine Liste mehrerer durch Leerzeichen getrennter Namen ist zulässig.
- 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
Verwendung eines Containernamens
Angenommen, das folgende HTML-Beispiel ist eine Kartenkomponente mit einem Titel und etwas Text:
<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 Eigenschaft container-type
zu einem Element in CSS hinzu.
Das folgende Beispiel erstellt zwei Containment-Kontexte, einen für die Metainformationen der Karte und einen für den Post-Ausschnitt:
Hinweis:
Eine Kurzschreibweise für diese Deklarationen wird 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 über die @container
-Regel wird Stile auf die Elemente des Containers anwenden, wenn die Abfrage als wahr ausgewertet wird.
Das folgende Beispiel enthält zwei Container-Abfragen, eine, die nur auf den Inhalt des .post-excerpt
-Elements angewendet wird, und eine, die sowohl auf den .post-meta
- als auch auf den .post-excerpt
-Inhalt angewendet wird:
@container excerpt (width >= 400px) {
p {
visibility: hidden;
}
}
@container (width >= 400px) {
p {
font-size: 2rem;
}
}
Weitere Informationen zum Schreiben von Container-Abfragen finden Sie auf der Seite CSS Container-Abfragen.
Verwendung mehrerer Containernamen
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 Namen in der @container
-Regel anzusprechen.
Dies ist nützlich, wenn Sie denselben Container mit mehreren Container-Abfragen ansprechen möchten, bei denen eine der Bedingungen 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
Siehe auch
- CSS Container-Abfragen
- Verwendung von Containergrößen- und Stilabfragen
- Verwendung von Container-Scroll-Zustand-Abfragen
@container
-Regel- CSS-
container
-Kurzschreibweise - CSS-
container-type
-Eigenschaft - CSS-
content-visibility
-Eigenschaft