CSSFunctionRule
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Die CSSFunctionRule-Schnittstelle des CSS Object Model repräsentiert CSS @function (benutzerdefinierte Funktion) At-Regeln.
Instanz-Eigenschaften
Diese Schnittstelle erbt auch Eigenschaften von CSSGroupingRule.
CSSFunctionRule.nameSchreibgeschützt Experimentell-
Gibt einen String zurück, der den Namen der benutzerdefinierten Funktion repräsentiert.
CSSFunctionRule.returnTypeSchreibgeschützt Experimentell-
Gibt einen String zurück, der den Rückgabetyp der benutzerdefinierten Funktion repräsentiert.
Instanz-Methoden
Diese Schnittstelle erbt auch Methoden von CSSGroupingRule.
CSSFunctionRule.getParameters()Experimentell-
Gibt ein Array von Objekten zurück, die die Parameter der benutzerdefinierten Funktion repräsentieren.
Beispiele
>Grundlegende Verwendung von CSSFunctionRule
In diesem Beispiel definieren wir eine benutzerdefinierte CSS-Funktion und greifen dann über das CSSOM darauf zu.
CSS
Unser CSS definiert eine benutzerdefinierte Funktion mithilfe der @function At-Regel. Die Funktion heißt --lighter() und gibt eine hellere Version einer Eingabefarbe aus. --lighter() akzeptiert zwei Parameter, eine <color> und eine <number>. Sie gibt eine oklch()-Farbe zurück, die mithilfe der relativen Farbsyntax erstellt wurde; die Eingabefarbe wird in eine oklch()-Farbe umgewandelt und ihr Helligkeitskanal wird um die Eingabeziffer erhöht.
@function --lighter(--color <color>, --lightness-adjust <number>: 0.2) returns
<color> {
result: oklch(from var(--color) calc(l + var(--lightness-adjust)) c h);
}
JavaScript
Unser Skript beginnt damit, eine Referenz auf das mit unserem Dokument verknüpfte Stylesheet mit HTMLStyleElement.sheet zu erhalten und dann eine Referenz auf die einzige Regel im Stylesheet, die CSSFunctionRule — über CSSStylesheet.cssRules. Anschließend protokollieren wir jedes der CSSFunctionRule-Mitglieder in die Konsole.
// Get a CSSFunctionRule
const cssFunc = document.getElementById("css-output").sheet.cssRules[0];
// Accessing CSSFunctionRule members
console.log(cssFunc.name);
console.log(cssFunc.returnType);
console.log(cssFunc.getParameters());
-
Die
name-Eigenschaft ist gleich--lighter. -
Die
returnType-Eigenschaft ist gleich<color>. -
Die Methode
getParameters()gibt ein Array zurück, das folgendermaßen aussieht:js[ { name: "--color", type: "<color>" }, { defaultValue: "0.2", name: "--lightness-adjust", type: "<number>" }, ];
Spezifikationen
| Specification |
|---|
| CSS Functions and Mixins Module> # the-function-interface> |
Browser-Kompatibilität
Loading…