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 Abfrage-Containernamen an, die von der @container At-Regel in einer Container-Abfrage verwendet werden. Eine Container-Abfrage wird Stile auf Elemente basierend auf der Größe oder dem Scroll-Zustand des nächsten Vorfahren mit einem Containment-Kontext anwenden. Wenn einem Containment-Kontext ein Name gegeben wird, kann er gezielt mit der @container At-Regel angesprochen werden, anstatt den nächstgelegenen Vorfahren mit Containment zu verwenden.

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ß-/Kleinschreibung beachtende Zeichenkette, die zur Identifizierung des Containers verwendet wird. Es gelten die folgenden Bedingungen:

  • Der Name darf nicht gleich or, and, not oder default sein.
  • Der Name darf nicht in Anführungszeichen sein.
  • Das gestrichelte Ident, das dazu gedacht ist, benutzerdefinierte Bezeichner zu kennzeichnen (z. B. --container-name), ist erlaubt.
  • Eine Liste mehrerer Namen, die durch ein Leerzeichen getrennt sind, ist erlaubt.

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

Verwendung eines Containernamens

Gegeben ist das folgende HTML-Beispiel, das eine Kartenkomponente mit einem Titel und etwas Text darstellt:

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 Metainformationen der Karte und einen für den Beitragstextauszug:

Hinweis: Eine Kurzschreibweise für diese Deklarationen wird auf der Seite container beschrieben.

css
.post-meta {
  container-type: inline-size;
}

.post-excerpt {
  container-type: inline-size;
  container-name: excerpt;
}

Das Schreiben einer Container-Abfrage über die @container At-Regel wendet Stile auf die Elemente des Containers an, wenn die Abfrage als wahr evaluiert wird. Das folgende Beispiel enthält zwei Container-Abfragen, von denen eine nur auf die Inhalte des .post-excerpt Elements und eine auf die Inhalte 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 Container Queries Seite.

Verwendung mehrerer Containernamen

Sie können einem Container-Kontext auch mehrere Namen geben, 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 Namen in der @container At-Regel anzusprechen. Dies ist nützlich, wenn Sie denselben Container mit mehreren Container-Abfragen ansprechen möchten, bei denen eine von beiden Bedingungen wahr sein 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