Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

css
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, not oder default entsprechen.
  • 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.

Formale Definition

Anfangswertnone
Anwendbar aufalle Elemente
VererbtNein
Berechneter Wertnone or an ordered list of identifiers
AnimationstypNot 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:

html
<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.

css
.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:

css
@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:

css
.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:

css
@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