如何降低CSS中的图像亮度
我想在CSS中降低图像亮度…我search了很多,但我得到的是改变不透明度…这是使图像更加明亮…任何人都可以帮助我吗?
您正在寻找的function是filter
。 它能够做一系列的图像效果,包括亮度:
#myimage { filter: brightness(50%); }
你可以在这里find一个有用的文章: http : //www.html5rocks.com/en/tutorials/filters/understanding-css/
另一个: http : //davidwalsh.name/css-filters
最重要的是,W3C规范: https : //dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html
注意这只是最近刚刚进入CSS的function。 它是可用的,但大量的浏览器不支持它,那些支持它的将需要一个供应商的前缀(即-webkit-filter:
,- -moz-filter
等)。
也可以使用SVG做这样的滤镜效果。 SVG对这些效果的支持已经被很好的build立和广泛的支持(CSS滤镜规范已经从现有的SVG规范中获得了)
另外请注意,这不会与旧版本的IE中可用的专有filter
风格相混淆(尽pipe当新样式放弃其供应商前缀时,我可以预测名称空间冲突的问题)。
如果这些function都不适用于您,您仍然可以使用现有的opacity
function,但不是您所想的方式:只需使用纯色的深色创build一个新的元素,将其放置在图像的顶部,然后使用淡入淡出opacity
。 效果将会是背后的形象。
希望有所帮助。
OP想要降低亮度,而不是增加亮度。 不透明使图像看起来更亮,而不是更暗。
你可以通过在图像上覆盖一个黑色的div来设置该div的不透明度。
<style> #container { position: relative; } div.overlay { opacity: .9; background-color: black; position: absolute; left: 0; top: 0; height: 256px; width: 256px; } </style> Normal:<br /> <img src="http://i.imgur.com/G8eyr.png"> <br /> Decreased brightness:<br /> <div id="container"> <div class="overlay"></div> <img src="http://i.imgur.com/G8eyr.png"> </div>
DEMO
总之,把黑色放在图像后面,降低透明度。 你可以通过将图像包装在div中,然后降低图像的不透明度来实现。
例如:
<!DOCTYPE html> <style> .img-wrap { background: black; display: inline-block; line-height: 0; } .img-wrap > img { opacity: 0.8; } </style> <div class="img-wrap"> <img src="http://mikecane.files.wordpress.com/2007/03/kitten.jpg" /> </div>
这是一个JSFiddle。
你可以使用:
filter: brightness(50%); -webkit-filter: brightness(50%); -moz-filter: brightness(50%); -o-filter: brightness(50%); -ms-filter: brightness(50%);
使用CSS3,我们可以轻松调整图像。 但请记住,这不会改变图像。 它只显示调整后的图像。
请参阅以下代码以获取更多详细信息
要使图像变灰:
img { -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); }
给一个棕褐色的外观:
img { -webkit-filter: sepia(100%); -moz-filter: sepia(100%); }
调整亮度:
img { -webkit-filter: brightness(50%); -moz-filter: brightness(50%); }
调整对比度:
img { -webkit-filter: contrast(200%); -moz-filter: contrast(200%); }
模糊图像:
img { -webkit-filter: blur(10px); -moz-filter: blur(10px); }
我今天find了 这真的帮了我。 http://www.propra.nl/playground/css_filters/
所有你需要的是添加到您的CSS样式:
div {-webkit-filter: brightness(57%)}
您可以使用cssfilter,下面是web-kit的示例。 请看这个例子: http : //jsfiddle.net/m9sjdbx6/4/
img { -webkit-filter: brightness(0.2);}
-webkit-filter: brightness(0.50);
我有这个很酷的解决scheme: https : //jsfiddle.net/yLcd5z0h/
喜欢
.classname { opacity: 0.5; }
你不能用CSS做。 但是可以用Javascript和HTML5来完成
图像亮度与html5 / CSS / JS