MathMLElement: style Eigenschaft
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Januar 2023.
Die schreibgeschützte style Eigenschaft der MathMLElement Schnittstelle gibt den inline style eines Elements in Form eines live CSSStyleProperties Objekts zurück.
Dieses Objekt kann verwendet werden, um die Inline-Stile eines Elements abzurufen und zu setzen.
Wert
Ein live CSSStyleProperties Objekt.
Hinweis:
Frühere Versionen der Spezifikation gaben ein CSSStyleDeclaration zurück (von dem CSSStyleProperties abgeleitet ist).
Siehe die Tabelle zur Browser-Kompatibilität für Informationen zur Browser-Unterstützung.
Obwohl die style Eigenschaft selbst schreibgeschützt ist, im Sinne, dass Sie das CSSStyleProperties Objekt nicht ersetzen können, können Sie weiterhin direkt der style Eigenschaft zuweisen, was gleichbedeutend mit der Zuweisung zu ihrer cssText Eigenschaft ist. Sie können das CSSStyleProperties Objekt auch mit den Methoden setProperty() und removeProperty() ändern.
Beschreibung
Die Werte der im Attribut style des Elements gesetzten Inline-Stile werden durch entsprechende Eigenschaften des zurückgegebenen CSSStyleProperties Objekts reflektiert.
Hinweis:
CSSStyleProperties verfügt über Eigenschaften mit strichbenannten und entsprechenden Camel-Case Namen für alle vom Browser unterstützten CSS-Eigenschaften (nicht nur die mit Inline-Stilen).
Eigenschaften, die keinen entsprechenden Inline-Stil haben, sind auf "" gesetzt.
Kurzform-Eigenschaften der CSS des Elements werden zu ihren entsprechenden Langform-Eigenschaften expandiert.
Beispielsweise würde ein Element mit dem Stil "border-top: 1px solid black" im zurückgegebenen Objekt durch Eigenschaften mit den Namen border-top und borderTop, sowie die entsprechenden Langform-Eigenschaften border-top-color und borderTopColor, border-top-style und borderTopStyle, sowie border-top-width und borderTopWidth dargestellt werden.
Die style Eigenschaft ist schreibgeschützt, was bedeutet, dass es nicht möglich ist, ein CSSStyleProperties Objekt ihr zuzuweisen.
Dennoch ist es möglich, einen Inline-Stil zu setzen, indem direkt eine Zeichenkette der Eigenschaft zugewiesen wird.
In diesem Fall kann die Zeichenkette aus cssText gelesen werden.
Die Verwendung von style auf diese Weise überschreibt alle Inline-Stile auf dem Element vollständig.
Um spezifische Stile zu einem Element hinzuzufügen, ohne andere Stilwerte zu verändern, ist es generell vorzuziehen, einzelne Eigenschaften auf dem CSSStyleProperties Objekt zu setzen.
Beispielsweise können Sie element.style.backgroundColor = "red" schreiben.
Eine Stil-Deklaration wird zurückgesetzt, indem sie auf null oder eine leere Zeichenkette gesetzt wird, z. B. element.style.color = null.
Die style Eigenschaft hat die gleiche Priorität in der CSS-Kaskade wie eine über das style Attribut gesetzte Inline-Stil-Deklaration.
Beispiele
>Aufzählung der Stilinformationen
Dieses Beispiel zeigt, wie wir die strichbenannten Eigenschaften von CSSStyleProperties aufzählen können.
HTML
<math>
<mrow>
<mi>f</mi>
<mo stretchy="false">(</mo>
<mi class="parameter" style="color: red; border-bottom: 1px solid">x</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mi>x</mi>
</mrow>
</math>
<pre id="log"></pre>
JavaScript
Der folgende Code iteriert die aufzählbaren Eigenschaften der CSSStyleProperties und protokolliert das Ergebnis.
const element = document.querySelector(".parameter");
const elementStyle = element.style;
// Loop through all the element's styles using `for...in`
for (const prop in elementStyle) {
// Check the property belongs to the CSSStyleProperties instance
// Ensure the property is a numeric index (indicating a dash-named/inline style)
if (
Object.hasOwn(elementStyle, prop) &&
!Number.isNaN(Number.parseInt(prop, 10))
) {
log(
`${
elementStyle[prop]
} = '${elementStyle.getPropertyValue(elementStyle[prop])}'`,
);
}
}
Ergebnisse
Das Ergebnis wird unten gezeigt. Beachten Sie, dass nur die Langform-CSS-Eigenschaften des Elements aufzählbare Werte sind (die Inline-Kurzform-Eigenschaft wird nicht aufgezählt).
Spezifikationen
| Specification |
|---|
| CSS Object Model (CSSOM)> # dom-elementcssinlinestyle-style> |