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
:
@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
Loading…
Siehe auch
- CSS
container
Kurzschreibweise - CSS Kosistenzmodul
- Container-Abfragen
- Verwenden von Containergrößen- und Stilabfragen