我想减少CSS中的图像亮度…我搜索了很多,但我得到的是更改不透明度…,这使图像更亮度…
可以任何一个帮助我吗?
可以任何一个帮助我吗?
解决方法
您要查找的功能是过滤器。它能够做一系列的图像效果,包括亮度:
#myimage { filter: brightness(50%); }
你可以在这里找到一个有用的文章: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作为一个功能。它是可用的,但是大量的浏览器将不支持它,并且那些支持它的将需要一个供应商前缀(即-webkit-filter:,-moz-filter等)。
也可以使用SVG做这样的滤波效果。 SVG对这些效果的支持是完全建立和广泛支持的(CSS滤镜规格是从现有的SVG规格中获得的)
还要注意,这不是与IE的旧版本中可用的专有过滤器样式混淆(虽然我可以预测命名空间冲突的问题,当新样式删除其供应商前缀)。
如果没有一个适用于你,你仍然可以使用现有的不透明度功能,但不是你的想法:只需创建一个新的元素具有纯黑色,将它放在图像的顶部,并淡出使用不透明度。效果将是后面的图像变暗。
希望有帮助。