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 Eingabebild 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 Eingabebild oder -element, während ein Wert über 100% es aufhellt. Ein Wert von 0% erzeugt ein vollständig schwarzes Bild oder Element, während ein Wert von 100% das Eingabebild unverändert lässt. Andere Werte zwischen 0% und 100% haben einen linearen Multiplikatoreffekt. Werte größer als 100% sind erlaubt und liefern hellere Ergebnisse. Der Anfangswert für Interpolation ist 1. Negative Werte sind nicht erlaubt. Der Standardwert ist 1.

Die folgenden sind Paare äquivalenter Werte:

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

Anwenden von Helligkeit mit der Eigenschaft backdrop-filter

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

CSS

css
.container {
  background: url(be_fierce.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 Eigenschaft backdrop-filter auf brightness(0%) gesetzt wäre, wäre der <div>-Bereich mit dem <p>-Element schwarz und das Bild dahinter würde verborgen. Bei brightness(100%) wäre die <div>-Bereichsfarbe dieselbe wie der Eingabewert #d4d5b2, und das Bild dahinter wäre komplett transparent. Mit der Helligkeit auf 150% wie in diesem Beispiel werden die Farben im Bild dahinter durch die Helligkeit des <div>-Elements verdeckt.

Anwenden von Helligkeit mit der Eigenschaft filter

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 von unterschiedlichen Helligkeitswerten.

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

Anwenden von Helligkeit mit dem url() SVG-Helligkeitsfilter

Das SVG-Element <filter> wird verwendet, um benutzerdefinierte Filtereffekte zu definieren, die dann durch id referenziert werden können. Das <feComponentTransfer>-Primitive des <filter>-Elements ermöglicht die Remapping von Pixelfarben auf Ebene.

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 über id referenzieren.

Angenommen Folgendes:

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 führen zu ähnlichen Effekten:

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