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 Eingangsbildes an. Ihr 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%das Eingangsbild unverändert lässt. Negative Werte sind nicht erlaubt. Der anfängliche Wert für die 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 backdrop-filter-Eigenschaft
Dieses Beispiel wendet einen contrast()-Filter über die backdrop-filter-CSS-Eigenschaft auf den Absatz und den monospaced Text an, wobei es zu einer Farbverschiebung im Bereich hinter dem <p> und <code> kommt.
.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 filter-Eigenschaft
Dieses Beispiel wendet einen contrast()-Filter über die filter-CSS-Eigenschaft an, wobei der Kontrast durch Farbverschiebungen des gesamten Elements, einschließlich Inhalt, Rahmen, Hintergrund und Schatten, verändert wird.
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 über id referenziert werden können. Das <filter>-Primitive <feComponentTransfer> ermöglicht eine Pixel-zu-Pixel-Farbzuordnung. Betrachtet man folgendes:
<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 produzieren 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, das Bild mit einem äquivalenten url()-Filter 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 in Werten derfilter- undbackdrop-filter-Eigenschaften verwendet werden können, umfassen: