怎么通过css改变图片的颜色

html-css09

怎么通过css改变图片的颜色,第1张

1、如果想改变css背景图片,一般的做法只能使用css滤镜;

2、css滤镜主要包括:

Speia滤镜 灰度图滤镜 高斯模糊滤镜 反色滤镜 饱和度滤镜

对比度滤镜亮度滤镜色相旋转滤镜 阴影滤镜

3、css滤镜在浏览器兼容是比较坑爹的问题,ie浏览器有自己一套滤镜filter家族,基本所有ie内核浏览器都支持,ff和Chrome,opera则主要使用css3的滤镜,这些浏览器在后期版本支持css3的滤镜(目前版本基本都支持html5和css3),通过滤镜改变背景图的颜色和效果,当然这些滤镜主要是为了效果而产生,颜色只是固定的几种效果。

4、个别时候,css滤镜还需要结合js使用,才能到达必要效果,其实一般背景图片都是用透明度的css来设置它的颜色度;

透明度css列子:

transparent_class {

filter:alpha(opacity=50)

-moz-opacity:0.5

-khtml-opacity: 0.5

opacity: 0.5

}

最近项目中要求实现夜间模式,整理一下实现方法。 ps. 我们的项目是混合开发,所以夜间模式要通过原生交互实现,如果直接是h5项目,则可省去原生交互这块。 step1 原生交互方法 step2  获取模式方法 step3 实现方法1、使用css大类区分 2、针对不同class类定义css属性全局变量 3、全局引入样式文件(main.js中引入) 4、页面中可定义css私有变量(包含页面中特殊的颜色属性,不止涉及亮度更改的图片)        变量定义规范:--(页面名称)-自定义         建议将白天与夜间模式图片区分两个文件夹存储5、变量使用规范总结: 1、注意css变量的使用的兼容性,例如安卓5的手机可能识别不了变量,解决方法:postcss可以试试看 2、如果项目中已使用less,可直接用less来实现,现未发现其兼容性问题(下一篇文章我会写less实现夜间模式)

首先,您说的亮度应该是图片透明度。

图片透明度调整很简单,只要在图片的属性中加上{filter:alpha(opacity=50)-moz-opacity:0.5-khtml-opacity: 0.5opacity: 0.5};

opacity是最重要的,因为它是CSS透明的标准属性,取值范围在0-1之间,目前支持的浏览器有:

Firefox、Chrome、Opera、Safari。(也就是说,除了IE,它支持所有主流浏览器);

filter:alpha(opacity=50)是专门给IE设定的属性,取值的范围在0-100之间;

-moz-opacity是为了兼容一些老版本的Mozilla浏览器,取值范围在0-1之间;

-khtml-opacity是为了兼容一些老版本的Safari浏览器,取值范围在0-1之间。