contrast()
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 contrast() CSS Funktion passt den Kontrast des Eingabebildes an. Das Ergebnis ist eine <filter-function>.
Probieren Sie es aus
filter: contrast(1);
filter: contrast(1.75);
filter: contrast(50%);
filter: contrast(0);
<section id="default-example">
<img
class="transition-all"
id="example-element"
src="/shared-assets/images/examples/firefox-logo.svg"
width="200" />
</section>
Syntax
contrast(amount)
Werte
amountOptional-
Der Kontrast des Ergebnisses, angegeben als
<number>oder<percentage>. Ein Wert unter100%verringert den Kontrast, während ein Wert über100%ihn erhöht. Ein Wert von0oder0%erzeugt ein vollständig graues Bild, während ein Wert von1oder100%die Eingabe unverändert lässt. Negative Werte sind nicht erlaubt. Der anfängliche Wert für Interpolation ist1. Der Standardwert ist1.
Die folgenden sind Paare von äquivalenten Werten:
contrast(0) /* Completely gray */
contrast(0%)
contrast(0.65) /* 65% contrast */
contrast(65%)
contrast() /* No effect */
contrast(1)
contrast(100%)
contrast(2) /* Double contrast */
contrast(200%)
Formale Syntax
<contrast()> =
contrast( [ <number> | <percentage> ]? )
Beispiele
>Mit der Eigenschaft backdrop-filter
Dieses Beispiel wendet einen contrast()-Filter über die CSS-Eigenschaft backdrop-filter auf den Absatz und den monospace Text an und verändert die Farben im Bereich hinter dem <p> und <code>.
.container {
background: url("unity_for_the_people.jpg") no-repeat center / contain #333399;
}
p {
backdrop-filter: contrast(0.5);
}
code {
backdrop-filter: contrast(0.15);
}
Mit der Eigenschaft filter
Dieses Beispiel wendet einen contrast()-Filter über die CSS-Eigenschaft filter an, indem der Kontrast durch Farbverschiebung des gesamten Elements geändert wird, einschließlich Inhalt, Rahmen, Hintergrund und Schatten.
p:first-of-type {
filter: contrast(30%);
}
p:last-of-type {
filter: contrast(300%);
}
Mit url() und dem SVG Kontrastfilter
Das SVG-Element <filter> wird verwendet, um benutzerdefinierte Filtereffekte zu definieren, die dann mit id referenziert werden können. Das Primitive <feComponentTransfer> des <filter> ermöglicht ein Remapping von Pixel-Farben. Gegeben sind die folgenden:
<svg
xmlns="http://www.w3.org/2000/svg"
id="svg"
viewBox="0 0 240 151"
height="0"
width="0"
overflow="visible"
color-interpolation-filters="sRGB">
<filter id="contrast">
<feComponentTransfer>
<feFuncR type="linear" slope="2" intercept="-0.5" />
<feFuncG type="linear" slope="2" intercept="-0.5" />
<feFuncB type="linear" slope="2" intercept="-0.5" />
</feComponentTransfer>
</filter>
</svg>
Diese Werte erzeugen die gleichen Ergebnisse:
filter: contrast(200%);
filter: url("#contrast"); /* with embedded SVG */
filter: url("folder/fileName.svg#contrast"); /* external svg filter definition */
Dieses Beispiel zeigt drei Bilder: das Bild mit einer contrast()-Filterfunktion angewendet, das Bild mit einem äquivalenten url()-Filter angewendet und die Originalbilder zum Vergleich:
Spezifikationen
| Specification |
|---|
| Filter Effects Module Level 1> # funcdef-filter-contrast> |
Browser-Kompatibilität
Loading…
Siehe auch
- CSS-Filtereffekte Modul
- Die anderen
<filter-function>-Funktionen, die für Werte derfilter- undbackdrop-filter-Eigenschaft verfügbar sind, umfassen: