css如何改变图片的颜色


本文摘自PHP中文网,作者醉折花枝作酒筹,侵删。

在css中,可以使用filter属性改变图片的颜色,只需要给图片元素设置“filter:样式值”样式即可。filter属性设置或检索对象所应用的滤镜效果,定义了元素的可视效果(例如:模糊与饱和度)。

本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。

说到对图片进行处理,我们经常会想到PhotoShop这类的图像处理工具。作为前端开发者,我们经常会需要处理一些特效,例如根据不同的状态,让图标显示不同的颜色。或者是hover的时候,对图片的对比度,阴影进行处理。

你以为这些是经过PS软件处理出来的?不不不,纯粹的是用css写出来的,很神奇把。

强大的 CSS:filter

CSS滤镜(filter)属提供的图形特效,像模糊,锐化或元素变色。过滤器通常被用于调整图片,背景和边界的渲染。 MDN

CSS标准里包含了一些已实现预定义效果的函数。

1

2

3

4

5

6

7

8

9

10

11

12

filter: none       

    | blur()

    | brightness()

    | contrast()

    | drop-shadow()

    | grayscale()

    | hue-rotate()

    | invert()

    | opacity()

    | saturate()

    | sepia()

    | url();

1

2

<!--html-->

<img src="https://note.youdao.com/yws/res/237/WEBRESOURCE7e77df2551fe1a1db1b9d91f4d518917" alt="原图">

filter: none

没有任何效果,默认filter就为none

filter:blur( ) 高斯模糊

给图像一个高斯模糊效果,length值越大,图像越模糊

我们来尝试一下

1

2

3

img {

    filter:blur(2px);;

}

brightness(%) 线性乘法

可以让图片看起来更亮或者更暗

1

2

3

img {

    filter:brightness(70%);

}

contrast(%) 对比度

调整图像的对比度。

1

2

3

img {

    filter:contrast(50%);

}

drop-shadow(h-shadow v-shadow blur spread color)

给图像设置一个阴影效果。阴影是合成在图像下面,可以有模糊度的,可以以特定颜色画出的遮罩图的偏移版本。 函数接受<shadow>(在CSS3背景中定义)类型的值,除了"inset"关键字是不允许的。该函数与已有的box-shadow box-shadow属性很相似;不同之处在于,通过滤镜,一些浏览器为了更好的性能会提供硬件加速

利用这个方案,我们其实改变类似于一些图标的颜色,比如黑色的图标变成蓝色的图标。

PNG格式小图标的CSS任意颜色赋色技术

1

2

3

img {

    filter: drop-shadow(705px 0 0 #ccc);

}

在这里,我们将图片投影形成一个同等大小的灰色区域。

hue-rotate(deg) 色相旋转

1

2

3

img {

    filter:hue-rotate(70deg);

}

看,小姐姐变成了阿凡达!

invert(%) 反转

这个函数的作用是反转输入图像,有点像曝光的效果

1

2

3

img {

    filter:invert(100%)

}

grayscale(%) 将图像转换为灰度图像

这个效果可以将图片做旧,有一种时代沧桑感。喜欢古风的人一定会喜欢上这个效果的

1

2

3

img {

    filter:grayscale(80%);

}

除了古风还有一种用法是有的时候需要将全站变成灰色,如大屠杀纪念日的时候。

可以这样设置

1

2

3

4

5

6

7

*{

    filter: grayscale(100%);

    -webkit-filter: grayscale(100%);

    -moz-filter: grayscale(100%);

    -ms-filter: grayscale(100%);

    -o-filter: grayscale(100%);

}

sepia(%) 将图像转换为深褐色

阅读剩余部分

相关阅读 >>

css中怎么设置标题字体大小

如何使用css来画一个棒棒糖

深入浅析css 布局和 bfc

css中标签嵌套规则有哪些

css solid什么意思

css overflow-x属性怎么用

scss是什么?

css怎么使字体更加紧凑

jsp css不起作用怎么办

css相对定位什么意思

更多相关阅读请进入《css》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...