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() CSS-Funktion

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2016 browserübergreifend verfügbar.

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% dunkelt das Eingabebild oder Element ab, 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 Eingabeobjekt unverändert lässt. Andere Werte zwischen 0% und 100% haben einen linearen Multiplikatoreffekt. Werte, die größer als 100% sind, sind erlaubt und ergeben hellere Ergebnisse. Der Anfangswert für die Interpolation ist 1. Negative Werte sind nicht erlaubt. Der Standardwert ist 1.

Die folgenden Wertepaare sind äquivalent:

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 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 white;
}

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 hätte das dahinterliegende Bild verborgen. Bei brightness(100%) wäre die <div>-Bereichsfarbe die gleiche wie die eingehende #d4d5b2, und das dahinterliegende Bild wäre völlig transparent. Mit der Helligkeit auf 150%, wie in diesem Beispiel, werden die Farben im Bild dahinter von der Helligkeit des <div>-Elements verborgen.

Helligkeit anwenden mit der Eigenschaft filter

In diesem Beispiel wird ein brightness()-Filter auf das gesamte Element angewendet, einschließlich Inhalt, Rand 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%);
}

Helligkeit anwenden mit dem SVG-Helligkeitsfilter url()

Das SVG-Element <filter> wird verwendet, um benutzerdefinierte Filtereffekte zu definieren, die dann über id referenziert werden können. Das <feComponentTransfer>-Primitive des <filter>-Elements ermöglicht eine Neuzuordnung von Farben auf Pixelebene.

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.

Gegeben 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 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 einen angewendeten brightness()-Filter, das zweite eine ähnliche SVG-Helligkeitsfunktion und das dritte ist das Originalbild zum Vergleich.

Spezifikationen

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

Browser-Kompatibilität

Siehe auch