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()-Funktion des CSS function passt den Kontrast des Eingangsbilder 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 als<percentage>. Ein Wert unter100%verringert den Kontrast, während ein Wert über100%ihn erhöht. Ein Wert von0oder0%erzeugt ein Bild, das komplett grau ist, während ein Wert von1oder100%das Eingangssignal 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 gleichwertigen 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
In diesem Beispiel wird über die backdrop-filter CSS-Eigenschaft ein contrast()-Filter auf den Absatz und den Monospace-Text angewendet, wodurch eine Farbverschiebung im Bereich hinter dem <p> und <code> erfolgt.
.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
In diesem Beispiel wird ein contrast()-Filter über die filter CSS-Eigenschaft angewendet, der den Kontrast durch Verschieben der Farben des gesamten Elements ändert, 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 über id referenziert werden können. Das Primitive <feComponentTransfer> des <filter> ermöglicht die Farbzuordnung auf Pixelniveau. Angenommen, folgende:
<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 führen zu den gleichen Ergebnissen:
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 das originale Bild zum Vergleich:
Spezifikationen
| Specification |
|---|
| Filter Effects Module Level 1> # funcdef-filter-contrast> |
Browser-Kompatibilität
Loading…
Siehe auch
- CSS Filter Effekte Modul
- Die anderen
<filter-function>-Funktionen, die in Werten der Eigenschaftenfilterundbackdrop-filterverwendet werden können, umfassen: