Was ist der beste Weg (falls vorhanden), um ein Bild mit CSS "ausgegraut" erscheinen zu lassen (dh ohne eine separate, ausgegraute Version des Bildes zu laden)?
Mein Kontext ist, dass ich Zeilen in einer Tabelle habe, die alle Schaltflächen in der Zelle ganz rechts haben, und einige Zeilen müssen heller aussehen als andere. So kann ich die Schrift natürlich leichter machen, aber ich möchte auch die Bilder heller machen, ohne zwei Versionen jedes Bildes verwalten zu müssen.
Verwenden Sie die CSS3-Filtereigenschaft:
Die Browserunterstützung ist etwas schlecht, aber es ist 100% CSS. Einen schönen Artikel über die CSS3-Filtereigenschaft finden Sie hier: http://blog.nmsdvid.com/css-filter-property/
quelle
contrast(x%)
Eigenschaft hinzu, zgrayscale(100%) contrast(30%)
.img { filter: grayscale(100%); opacity: 0.4; }
Du bist hier:
CSS Grau:
Ungray:
Ich fand es unter: http://zkiwi.com/topic/chuyen-hinh-mau-thanh-trang-den-bang-css-nhu-the-nao
Bearbeiten: IE10 + unterstützt weder DX-Filter wie IE9 und frühere Versionen noch eine vorangestellte Version des Graustufenfilters. Sie können das Problem beheben, indem Sie eine von zwei Lösungen verwenden:
<meta http-equiv="X-UA-Compatible" content="IE=9">
quelle
Wenn es Ihnen nichts ausmacht, ein bisschen JavaScript zu verwenden, funktioniert jQuerys fadeTo () in jedem Browser, den ich ausprobiert habe.
quelle
Besser alle Browser unterstützen:
quelle
Hier ist ein Beispiel, mit dem Sie die Farbe des Hintergrunds festlegen können. Wenn Sie float nicht verwenden möchten, müssen Sie möglicherweise Breite und Höhe manuell einstellen. Aber auch das hängt wirklich vom umgebenden CSS / HTML ab.
quelle
Zum Ausgrauen:
"Achromatisieren."
"Mit Grau füllen."
Hilfreiche Notizen
Was ist der Unterschied zwischen CSS3-Filter-Graustufen und Sättigung?
https://www.w3.org/TR/filter-effects-1
quelle
Sie können
rgba()
in CSS verwenden, um eine Farbe anstelle von zu definierenrgb()
. So was:style='background-color: rgba(128,128,128, 0.7);
Gibt Ihnen die gleiche Farbe wie,
rgb(128,128,128)
jedoch mit einer Deckkraft von 70%, sodass das Material dahinter nur bis zu 30% zeigt. CSS3 funktioniert aber seit 2008 in den meisten Browsern. Entschuldigung, keine mir bekannte # rrggbb-Syntax. Spielen Sie mit den Zahlen - Sie können mit Weiß auswaschen, mit Grau schattieren, mit was auch immer Sie verdünnen möchten.OK, Sie erstellen ein Rechteck in halbtransparentem Grau (oder einer anderen Farbe) und legen es auf Ihr Bild, möglicherweise mit der Position: absolut und einem Z-Index höher als Null. Sie platzieren es direkt vor Ihrem Bild und dem Standard Die Position für das Rechteck ist dieselbe linke obere Ecke Ihres Bildes. Sollte arbeiten.
quelle
Filter berücksichtigen: expression ist eine Microsoft-Erweiterung für CSS und funktioniert daher nur in Internet Explorer. Wenn Sie es ausgrauen möchten, würde ich empfehlen, dass Sie die Deckkraft mit etwas Javascript auf 50% einstellen.
http://lyxus.net/mv ist ein guter Ausgangspunkt, da hier ein Opazitätsskript beschrieben wird, das mit Firefox-, Safari-, KHTML-, Internet Explorer- und CSS3-fähigen Browsern funktioniert.
Vielleicht möchten Sie ihm auch einen grauen Rand geben.
quelle