invert()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.
Die invert()
CSS Funktion invertiert die Farbproben im Eingabebild. Das Ergebnis ist eine <filter-function>
.
Probieren Sie es aus
filter: invert(0);
filter: invert(0.3);
filter: invert(50%);
filter: invert(70%);
filter: invert(1);
<section id="default-example">
<img
class="transition-all"
id="example-element"
src="/shared-assets/images/examples/firefox-logo.svg"
width="200" />
</section>
Syntax
/* No inversion */
invert(0)
/* Complete inversion */
invert()
invert(1)
invert(100%)
/* 60% inversion */
invert(.6)
invert(60%)
Parameter
<number>
oder<percentage>
Optional-
Gibt den Umfang der Umwandlung an. Ein Wert von
100%
ist vollständig invertiert, während ein Wert von0%
das Eingabebild unverändert lässt. Werte zwischen0%
und100%
sind lineare Multiplikatoren des Effekts. Der Anfangswert für Interpolation ist0
. Der Standardwert ist1
.
Formale Syntax
<invert()> =
invert( [ <number> | <percentage> ]? )
SVG-Filter
Das SVG <feComponentTransfer>
Filter-Element kann ebenfalls verwendet werden, um Inhalte zu invertieren, indem eine gleichwertige Inversion auf verschachtelten <feFuncR>
, <feFuncG>
und <feFuncB>
Tabellenelementen erstellt wird. Wir setzen denselben tableValue
für die roten, grünen und blauen Filterprimitiven auf denselben Wert, dann können wir auf den SVG-Effekt mit der ID des <filter>
verweisen:
<svg role="none">
<filter id="invert90">
<feComponentTransfer>
<feFuncR type="table" tableValues="0.1 0" />
<feFuncG type="table" tableValues="0.1 0" />
<feFuncB type="table" tableValues="0.1 0" />
</feComponentTransfer>
</filter>
</svg>
Die folgenden Deklarationen erzeugen denselben Effekt:
filter: invert(0.9);
filter: invert(90%);
filter: url("#invert90"); /* with embedded SVG */
filter: url("fileName.svg#invert90"); /* external SVG */
Beispiele
Dieses Beispiel zeigt drei Bilder zum Vergleich: ein Bild mit einer invert()
Filterfunktion angewendet, ein Bild mit der gleichwertigen SVG-Funktion angewendet, und das Originalbild:
SVG
Wir erstellen einen SVG-Filter, der den angewandten Inhalt um 70% invertiert:
<svg height="0">
<filter id="invert">
<feComponentTransfer>
<feFuncR type="table" tableValues="0.3 0" />
<feFuncG type="table" tableValues="0.3 0" />
<feFuncB type="table" tableValues="0.3 0" />
</feComponentTransfer>
</filter>
</svg>
CSS
Wir fügen CSS hinzu, das Elemente basierend auf ihrer filter
oder svgFilter
Klasse invertiert:
.filter {
filter: invert(70%);
}
.svgFilter {
filter: url("#invert");
}
Spezifikationen
Specification |
---|
Filter Effects Module Level 1> # funcdef-filter-invert> |
Browser-Kompatibilität
Loading…
Siehe auch
Die anderen <filter-function>
Funktionen, die in den Werten der Eigenschaften filter
und backdrop-filter
verwendet werden können, sind: