Die Funktion, die Sie suchen, ist filter. Es ist in der Lage, eine Reihe von Bildeffekten zu erzielen, einschließlich der Helligkeit:
#myimage {
filter: brightness(50%);
}
Einen hilfreichen Artikel dazu finden Sie hier: http://www.html5rocks.com/de/tutorials/filters/understanding-css/
Ein anderer: http://davidwalsh.name/css-filters
Und vor allem die W3C-Spezifikationen: https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html
Beachten Sie, dass dies erst seit kurzem in CSS als Feature verfügbar ist. Es ist möglich, aber eine große Anzahl von Browsern da draußen wird es noch nicht unterstützen, und diejenigen , die Unterstützung zu tun wird es einen Anbieter Präfix erfordern (dh -webkit-filter:, -moz-filterusw.).
Es ist auch möglich, solche Filtereffekte mit SVG durchzuführen. Die SVG-Unterstützung für diese Effekte ist gut etabliert und wird weitgehend unterstützt (die CSS-Filterspezifikationen wurden aus den vorhandenen SVG-Spezifikationen übernommen).
Beachten Sie auch, dass dies nicht mit dem proprietären filterStil zu verwechseln ist, der in alten IE-Versionen verfügbar ist (obwohl ich ein Problem mit dem Namespace-Konflikt vorhersagen kann, wenn der neue Stil sein Herstellerpräfix fallen lässt).
Wenn nichts davon für Sie funktioniert, können Sie die vorhandene opacityFunktion weiterhin verwenden , aber nicht so, wie Sie denken: Erstellen Sie einfach ein neues Element mit einer durchgehenden dunklen Farbe, platzieren Sie es über Ihrem Bild und blenden Sie es mit aus opacity. Der Effekt besteht darin, dass das Bild dahinter abgedunkelt wird.
Schließlich können Sie die Browserunterstützung filter hier überprüfen .