Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
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.
Das CSSFunctionRule-Interface des CSS Object Model repräsentiert CSS-@function (benutzerdefinierte Funktion) At-Regeln.
Instanz-Eigenschaften
Dieses Interface erbt auch Eigenschaften von CSSGroupingRule.
CSSFunctionRule.nameSchreibgeschützt Experimentell-
Gibt einen String zurück, der den Namen der benutzerdefinierten Funktion darstellt.
CSSFunctionRule.returnTypeSchreibgeschützt Experimentell-
Gibt einen String zurück, der den Rückgabetyp der benutzerdefinierten Funktion darstellt.
Instanz-Methoden
Dieses Interface erbt auch Methoden von CSSGroupingRule.
CSSFunctionRule.getParameters()Experimentell-
Gibt ein Array von Objekten zurück, das die Parameter der benutzerdefinierten Funktion darstellt.
Beispiele
>Grundlegende Verwendung von CSSFunctionRule
In diesem Beispiel definieren wir eine benutzerdefinierte CSS-Funktion und greifen dann unter Verwendung des CSSOM darauf zu.
CSS
Unser CSS definiert eine benutzerdefinierte Funktion mithilfe der @function-At-Regel. Die Funktion wird --lighter() genannt und gibt eine aufgehellte Version einer Eingabefarbe zurück. --lighter() akzeptiert zwei Parameter, eine <color> und eine <number>. Sie gibt eine oklch()-Farbe zurück, die mit der relativen Farbsyntax erstellt wurde; die Eingabefarbe wird in eine oklch()-Farbe umgewandelt und ihr Helligkeitskanal wird um die Eingabezahl 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 mit der Referenzierung des Stylesheets, das an unser Dokument angehängt ist, über HTMLStyleElement.sheet und dann der Referenzierung der einzigen Regel im Stylesheet, der CSSFunctionRule — über CSSStylesheet.cssRules. Wir loggen dann jedes der CSSFunctionRule-Mitglieder in der 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
getParameters()-Methode 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
Enable JavaScript to view this browser compatibility table.