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 Bild, das vollständig grau ist, während ein Wert von1oder100%die Eingabe unverändert lässt. Negative Werte sind nicht erlaubt. Der Anfangswert für die Interpolation ist1. Der Standardwert ist1.
Die folgenden Paare haben äquivalente Werte:
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 monospaced Text an, der die Farbe in den Bereich hinter dem <p> und <code> verschiebt.
.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 und verändert den Kontrast durch das Verschieben von Farben des gesamten Elements, 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 contrast Filter
Das SVG <filter> Element wird verwendet, um benutzerdefinierte Filtereffekte zu definieren, die dann über id referenziert werden können. Das <feComponentTransfer> Primitive ermöglicht die Farbumwandlung auf Pixelebene. Angesichts des 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 ergeben dieselben 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
Siehe auch
- CSS Filter Effekte Modul
- Die anderen
<filter-function>Funktionen, die in den Werten der Eigenschaftenfilterundbackdrop-filterverwendet werden können, umfassen: