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

View in English Always switch to English

CSSContainerRule: containerName-Eigenschaft

Baseline 2023
Newly available

Since ⁨September 2023⁩, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Die schreibgeschützte containerName-Eigenschaft der CSSContainerRule-Schnittstelle repräsentiert den Containernamen der zugehörigen CSS @container-At-Regel.

Zum Beispiel ist der Wert von containerName für die folgende @container-Regel sidebar:

css
@container sidebar (width >= 700px) {
  .card {
    font-size: 2em;
  }
}

Wert

Ein String, der den container-name des mit dieser CSSContainerRule verbundenen @container enthält. Wenn der @container nicht benannt ist, gibt die Funktion den leeren String ("") zurück.

Beispiele

Das folgende Beispiel definiert eine benannte @container-Regel und zeigt die Eigenschaften der zugehörigen CSSContainerRule an. Das CSS ist dem im @container-Beispiel Erstellen benannter Container-Kontexte sehr ähnlich.

Zuerst definieren wir das HTML für eine card (<div>), die sich innerhalb eines post befindet.

html
<div class="post">
  <div class="card">
    <h2>Card title</h2>
    <p>Card content</p>
  </div>
</div>

Das CSS für das Containerelement spezifiziert den Typ des Containers und kann auch einen Namen festlegen. Die Karte hat eine Standard-Schriftgröße, die für den @container namens sidebar überschrieben wird, wenn die Breite größer als 700px ist.

html
<style id="example-styles">
  .post {
    container-type: inline-size;
    container-name: sidebar;
  }

  /* Default heading styles for the card title */
  .card h2 {
    font-size: 1em;
  }

  @container sidebar (width >= 700px) {
    .card {
      font-size: 2em;
    }
  }
</style>

Der folgende Code erhält das HTMLStyleElement, das mit dem Beispiel über seine id verknüpft ist, und verwendet dann dessen sheet-Eigenschaft, um das StyleSheet zu erhalten. Aus dem StyleSheet erhalten wir die Menge an cssRules, die dem Stylesheet hinzugefügt wurden. Da wir den @container als dritte Regel hinzugefügt haben, können wir über den dritten Eintrag (Index "2") in den cssRules auf die zugehörige CSSContainerRule zugreifen. Schließlich protokollieren wir den Containernamen und die Query-Eigenschaften (der Code, der das Protokollieren durchführt, wird nicht gezeigt).

js
const exampleStylesheet = document.getElementById("example-styles").sheet;
const exampleRules = exampleStylesheet.cssRules;
const containerRule = exampleRules[2]; // a CSSContainerRule representing the container rule.
log(`CSSContainerRule.containerName: "${containerRule.containerName}"`);

Das folgende Beispiel zeigt die Ausgabe. Der Protokollabschnitt listet den Containernamen als String auf. Der Titel in der Karten-Sektion sollte sich verdoppeln, wenn die Seitenbreite über 700px beträgt.

Spezifikationen

Specification
CSS Conditional Rules Module Level 5
# dom-csscontainerrule-containername

Browser-Kompatibilität

Siehe auch