brightness()

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 brightness() CSS <filter-function> wendet einen linearen Multiplikatorwert auf ein Element oder ein Eingangsbild an, wodurch das Bild heller oder dunkler erscheint.

Probieren Sie es aus

filter: brightness(1);
filter: brightness(1.75);
filter: brightness(50%);
filter: brightness(0);
<section id="default-example">
  <img
    class="transition-all"
    id="example-element"
    src="/shared-assets/images/examples/firefox-logo.svg"
    width="200" />
</section>

Syntax

css
brightness(amount)

Werte

amount Optional

Helligkeit, angegeben als <number> oder <percentage>. Ein Wert kleiner als 100% verdunkelt das Eingangsbild oder Element, während ein Wert über 100% es aufhellt. Ein Wert von 0% erzeugt ein komplett schwarzes Bild oder Element, während ein Wert von 100% das Eingangsbild unverändert lässt. Andere Werte zwischen 0% und 100% haben einen linearen Multiplikatoreffekt. Werte größer als 100% sind erlaubt und ergeben hellere Ergebnisse. Der Anfangswert für Interpolation ist 1. Negative Werte sind nicht erlaubt. Der Standardwert ist 1.

Die folgenden sind Paare von äquivalenten Werten:

css
brightness(0)   /* Brightness is reduced to zero, so input turns black */
brightness(0%)

brightness(0.4) /* Brightness of input is reduced to 40%, so input is 60% darker */
brightness(40%)

brightens()     /* Brightness of input is not changed */
brightness(1)
brightness(100%)

brightness(2)   /* Brightness of input is doubled */
brightness(200%)

Formale Syntax

<brightness()> = 
brightness( [ <number> | <percentage> ]? )

Beispiele

Helligkeit mit der Eigenschaft backdrop-filter anwenden

Dieses Beispiel zeigt, wie der brightness() Filter auf einen Absatz durch die CSS-Eigenschaft backdrop-filter angewendet wird.

CSS

css
.container {
  background: url(image.jpg) no-repeat right / contain #d4d5b2;
}
p {
  backdrop-filter: brightness(150%);
  text-shadow: 2px 2px #ffffff;
}

Ergebnis

In diesem Beispiel verschieben sich die Farben im Bereich hinter dem <p> Element linear. Wenn die backdrop-filter Eigenschaft auf brightness(0%) gesetzt wäre, wäre der <div> Bereich mit dem <p> Element schwarz und hätte das Bild dahinter versteckt. Bei brightness(100%) wäre die Farbe des <div> Bereichs die gleiche wie das Eingangsbild #d4d5b2, und das Bild dahinter wäre komplett transparent. Mit der Helligkeit auf 150% gesetzt, wie in diesem Beispiel, werden die Farben im Bild dahinter durch die Helligkeit des <div> Elements verdeckt.

Helligkeit mit der filter Eigenschaft anwenden

In diesem Beispiel wird ein brightness() Filter auf das gesamte Element angewendet, einschließlich Inhalt, Rahmen und Hintergrundbild über die CSS-Eigenschaft filter. Das Ergebnis zeigt drei Variationen unterschiedlicher Helligkeitswerte.

css
p:first-of-type {
  filter: brightness(50%);
}
p:last-of-type {
  filter: brightness(200%);
}

Helligkeit mit dem url() SVG Helligkeitsfilter anwenden

Das SVG <filter> Element wird verwendet, um benutzerdefinierte Filtereffekte zu definieren, die dann durch id referenziert werden können. Das <filter> Element's <feComponentTransfer> Primitive ermöglicht eine Pixel-Level Farbzuordnung.

In diesem Beispiel, um einen Filter zu erstellen, der den Inhalt, auf den er angewendet wird, um 25% abdunkelt (d.h. 75% der ursprünglichen Helligkeit), wird das slope Attribut auf 0.75 gesetzt. Wir können dann den Filter durch id referenzieren.

Given the following:

html
<svg role="none">
  <filter id="darken25" color-interpolation-filters="sRGB">
    <feComponentTransfer>
      <feFuncR type="linear" slope="0.75" />
      <feFuncG type="linear" slope="0.75" />
      <feFuncB type="linear" slope="0.75" />
    </feComponentTransfer>
  </filter>
</svg>

Die folgenden Deklarationen erzeugen ähnliche Effekte:

css
filter: brightness(75%);
filter: url(#darken25); /* with embedded SVG */
filter: url(folder/fileName.svg#darken25); /* external svg filter definition */

In den untenstehenden Bildern hat das erste eine brightness() Filterfunktion angewendet, das zweite eine ähnliche SVG-Helligkeitsfunktion, und das dritte ist das Originalbild zum Vergleich.

Spezifikationen

Specification
Filter Effects Module Level 1
# funcdef-filter-brightness

Browser-Kompatibilität

Siehe auch