CSSContainerRule: containerName-Eigenschaft
Baseline 2023Newly 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
:
@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.
<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.
<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).
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
- CSS
container
Kurzschreibweise - CSS Kosistenzmodul
- Container-Abfragen
- Verwenden von Containergrößen- und Stilabfragen