Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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 komplett schwarzes Bild oder Element, während 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 Ausgangswert für Interpolation ist 1. Negative Werte sind nicht erlaubt. Der Standardwert ist 1.

Folgende 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%)

brightness()     /* 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 anwenden mit der Eigenschaft backdrop-filter

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

CSS

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

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 würde das dahinterliegende Bild verstecken. Bei brightness(100%) wäre die <div>-Bereichsfarbe dieselbe wie das Eingangs-#d4d5b2, und das Bild dahinter wäre komplett transparent. Mit der auf 150% eingestellten Helligkeit, wie in diesem Beispiel, werden die Farben im Bild dahinter von der Helligkeit des <div>-Elements überdeckt.

Helligkeit anwenden mit der Eigenschaft filter

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

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

Helligkeit anwenden 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 eine Farbneuabbildung auf Pixelebene.

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

Folgendes gilt:

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 Bildern unten ist das erste eine brightness()-Filterfunktion angewendet, das zweite hat eine ähnliche SVG-Helligkeitsfunktion angewendet, und das dritte ist das Originalbild zum Vergleich.

Spezifikationen

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

Browser-Kompatibilität

Siehe auch