Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

CSSMathMin

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die CSSMathMin Schnittstelle der CSS Typed Object Model API repräsentiert die CSS min() Funktion.

CSSStyleValue CSSNumericValue CSSMathValue CSSMathMin

Konstruktor

CSSMathMin()

Erstellt ein neues CSSMathMin Objekt.

Instanz-Eigenschaften

Erbt auch Eigenschaften von seiner Elternschnittstelle, CSSMathValue.

CSSMathMin.values Schreibgeschützt

Gibt ein CSSNumericArray Objekt zurück, das ein oder mehrere CSSNumericValue Objekte enthält.

Statische Methoden

Erbt auch Methoden von seiner Elternschnittstelle, CSSMathValue.

Instanz-Methoden

Erbt auch Methoden von seiner Elternschnittstelle, CSSMathValue.

Beschreibung

Die CSS min() Funktion nimmt ein oder mehrere kommagetrennte Werte als Argumente und gibt den kleinsten von ihnen zurück.

Wenn alle Argumente absolute Werte sind, wie z.B. Pixellängen, wird min() zur Parsezeit in einen einzelnen Wert aufgelöst, der im CSS Typed Object Model durch einen CSSUnitValue dargestellt wird. Wenn der min() Ausdruck nicht zur Parsezeit in einen einzigen Wert aufgelöst werden kann (z.B. weil eines seiner Argumente eine relative Einheit wie vw oder % verwendet), wird die Funktion als ein CSSMathMin Objekt dargestellt, und die an min() (oder an den CSSMathMin() Konstruktor) übergebenen Argumente werden als die values Eigenschaft bereitgestellt.

Beachten Sie, dass CSSMathMin die min() Funktion und nicht deren aufgelösten Wert repräsentiert. Um den Wert einer Eigenschaft zu bestimmen, die min() verwendet, müssen Sie deren berechneten Stil lesen (zum Beispiel mit getComputedStyle()).

Beispiele

Grundlegende Verwendung

Der folgende Code erstellt eine CSSMathMin Instanz aus drei Werten und liest dann deren operator und values Eigenschaften aus.

js
const min = new CSSMathMin(CSS.px(10), CSS.em(5), CSS.percent(50));

console.log(min.constructor.name); // "CSSMathMin"
console.log(min.operator); // 'min'
console.log(min.values);
// CSSNumericArray {0: CSSUnitValue, 1: CSSUnitValue, 2: CSSUnitValue, length: 3}
console.log(min.values[0]); // CSSUnitValue {value: 10, unit: "px"}

min() Darstellungen

Dieses Beispiel zeigt, wie min() durch einen CSSUnitValue oder ein CSSMathMin dargestellt wird, je nachdem, ob alle seine Argumente absolute Werte sind.

HTML

html
<div id="demoBox">Text</div>

CSS

width wird mit einem min() gesetzt, dessen Argumente alle absolute Längen sind, sodass der Browser es sofort in einen festen Wert auflösen kann. font-size wird mit einem min() gesetzt, bei dem ein Argument die relative Einheit vw verwendet, sodass der Browser es erst beim Layout auflösen kann (dies wird durch ein CSSMathMin dargestellt).

css
#demoBox {
  width: min(10px, 50px);
  font-size: min(1rem, 5vw);
}

JavaScript

Zuerst ermitteln wir die Stilregel des Demo-Box und lesen deren width und font-size Werte mit styleMap aus.

js
const demoBox = document.querySelector("#demoBox");

const rules = document.getElementById("css-output").sheet.cssRules;
const rule = [...rules].find((r) => r.selectorText === "#demoBox");
const styleMap = rule.styleMap;
const width = styleMap.get("width");
const fontSize = styleMap.get("font-size");

Dann loggen wir den Typ und den Wert der CSS Typed OM Darstellungen sowie die berechneten (aufgelösten) Werte.

js
log("width");
log(` type: ${width.constructor.name}`);
log(` value: ${width}`);
log(` resolved: ${getComputedStyle(demoBox).width}`);

log("\nfont-size");
log(` type: ${fontSize.constructor.name}`);
log(` values: [${[...fontSize.values].join(", ")}]`);
log(` resolved: ${getComputedStyle(demoBox).fontSize}`);

Ergebnis

width wird durch ein CSSUnitValue Objekt dargestellt, das einen Wert hat, der der aufgelösten Breite entspricht. font-size wird durch ein CSSMathMin Objekt dargestellt, das die ursprünglichen Operanden der min() Funktion bereitstellt.

Spezifikationen

Spezifikation
CSS Typed OM Level 1
# cssmathmin

Browser-Kompatibilität