原标题:纯干货,前端学者的福音!如何使用css滤镜改变图片颜色

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

你以为这些是经过PS软件处理出来的?不不不,只有一张图片,纯粹的是用css写出来的。

本文的目标就是:手把手教大家学习CSS滤镜(filter)属性,CSS滤镜提供的图形特效,像模糊,锐化或元素变色。过滤器通常被用于调整图片,背景和边界的渲染。

使用CSS滤镜只需要如下5步:

1. 准备工作

2. 使用sublime快速书写HTML结构

3. 使用CSS选择器选中目标标签

4. CSS滤镜的基本用法

5. CSS滤镜实例演示

一、第一步 —— 准备工作

目标 : 下载并安装sublime以及准备一张图片素材

下载对应你操作系统的sublime编辑器,http://www.sublimetext.com/3

图片素材:

小结 : 准备好代码编辑器,比如sublime,hbuilder,vscode等编辑,都是可以的,再准备一张图片素材

二、第二步 —— 书写HTML结构

目标 : 使用sublime编辑器快速生成HTML5结构的页面

1. 安装sublime以后,并打开sublime.exe

2. 在电脑的某个目下新建一个空目录code,将我们的图片素材放一个images文件夹下,并把这个images文件夹也放在code中

3. 使用sublime打开我们刚准备好的code文件夹

4. 使用sublime新建一个HTML网页文件,后缀名需要为html

5. 接着输入一个英文输入状态下的!再按tab键,即可快速生成HTML5的基本结构!

6. 在网页中插入内容

小结 : 使用代码编辑器新建网页文件,并加入两张img图片标签,正确引入图片

三、第三步 —— 使用CSS选择器选中目标标签

目标:使用CSS类选择器选中我们页面中的目标图片标签, 格式 .类名

小结 : 使用 css类选择 格式: .类名 选中对应的目标标签

四、第四步 —— CSS滤镜的基本用法

目标:了解CSS滤镜的基本用法以及各方法之间效果差异

1. CSS滤镜基本语法

filter: function(param);

filter: none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | saturate() | sepia() ;

提示:允许同时使用多个滤镜,多个滤镜效果之间使用空格分隔。

2. CSS滤镜支持的方法(function)有

– grayscale 灰度

– sepia 褐色

– saturate 饱和度

– hue-rotate 色相旋转

– invert 反色

– opacity 透明度

– brightness 亮度

– contrast 对比度

– blur 模糊

– drop-shadow 阴影

注意:为了实现兼容性,我们加上-webkit- 前缀

-webkit-filter : function (param);

3. filter函数

注意: 滤镜通常使用百分比 (如:75%), 当然也可以使用小数来表示 (如:0.75)。

小结 : filter: none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | saturate() | sepia() ;

五、第五步 —— CSS滤镜实例演示

目标:理解CSS滤镜各种效果之间的不同

1. 模糊: blur(长度值) 值越大越模糊 这个参数可设置css长度值,但不接受百分比值

filter : blur(2px);

-webkit-filter : blur(2px);

值越大越模糊

2. 亮度 : brightness(百分比) 如果值是0%,图像会全黑。值是100%,则图像无变化。其他的值对应线性乘数效果。值超过100%也是可以的,图像会比原来更亮。如果没有设定值,默认是1。

filter : brightness(30%);

-webkit-filter : brightness(30%);

3. 对比度 : contrast(%) 值是0%的话,图像会全黑。值是100%,图像不变。值可以超过100%,意味着会运用更低的对比。若没有设置值,默认是1。

filter : contrast(0);

-webkit-filter : contrast(0);

4. 阴影 : drop-shadows(阴影水平偏移位置 阴影垂直偏移位置 阴影模糊程度 阴影颜色)

/*drop-shadows(阴影水平偏移位置 阴影垂直偏移位置 阴影模糊程度 阴影颜色)*/

filter : drop-shadow(10px 10px 5px #000);

-webkit-filter : drop-shadow(10px 10px 5px #000);

5. 灰度 : grayscalel(%) 值为100%则完全转为灰度图像,值为0%图像无变化。值在0%到100%之间,则是效果的线性乘子。若未设置,值默认是0

filter : grayscale(100%);

-webkit-filter : grayscale(100%);

6. 色相旋转 : hue-rotate(deg) deg为旋转度数,如果值为0deg,则图像无变化。若值未设置,默认值是0deg。该值虽然没有最大值,超过360deg的值相当于又绕一圈。

filter : hue-rotate(50deg);

-webkit-filter : hue-rotate(50deg);

7. 反色 : invert(%) 如果100%的值是完全反转。值为0%则图像无变化。值在0%和100%之间,则是效果的线性乘子。 若值未设置,值默认是0。

filter : invert(100%);

-webkit-filter : invert(100%);

8. 透明度 : opacity(%) 值为0%则是完全透明,值为100%则图像无变化。值在0%和100%之间,则是效果的线性乘子,也相当于图像样本乘以数量。 若值未设置,值默认是1。该函数与已有的opacity属性很相似,不同之处在于通过filter,一些浏览器为了提升性能会提供硬件加速。

filter : opacity(.5);

-webkit-filter : opacity(.5);

9. 饱和度 : saturate(%) 值为0%则是完全不饱和,值为100%则图像无变化。其他值,则是效果的线性乘子。超过100%的值是允许的,则有更高的饱和度。 若值未设置,值默认是1。

/*5代表500%*/

filter : saturate(5);

-webkit-filter : saturate(5);

10. 褐色(有种复古的旧照片感觉) : sepia(%) 值为100%则完全是深褐色的,值为0%图像无变化。值在0%到100%之间,则是效果的线性乘子。若未设置,值默认是0;

filter : sepia(100%);

-webkit-filter : sepia(100%);

11. 使用多个滤镜,每个滤镜使用空格分隔。 注意: 顺序是非常重要的 (例如使用 grayscale() 后再使用 sepia()将产生一个完整的灰度图片)。 顺序有可能会导致效果不一样。

/*使用多个滤镜,每个滤镜使用空格分隔。*/

filter: contrast(200%) brightness(150%) hue-rotate(50deg);

-webkit-filter: contrast(200%) brightness(150%) hue-rotate(50deg);

小结 : filter: none | blur(px) | brightness(%) | contrast(%) | drop-shadow(px,px,px,color) | grayscale(%) | hue-rotate(deg) | invert(%) | opacity(%) | saturate(%) | sepia(%) ;

总结

到此,我们已经对CSS滤镜有了一定的初步了解,在以后开发过程中,可以根据我们所需要的效果,选择使用相应的CSS滤镜效果。

我们再来回顾一下,我们刚刚实现的步骤

1. 准备工作:下载sublime代码编辑器以及准备图片素材

2. 书写HTML基本结构:使用sublime创建一个HTML文件以后,输入!以后再按tab键,在body标签中插入相应标签,并正确引入图片

3. 使用CSS选择器选中目标标签:我们使用的是CSS类选择器,通过标签的class属性值获取目标标签

4. CSS滤镜的基本使用: CSS滤镜语法

filter: function(param);

filter: none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | saturate() | sepia() | url();

/*为了实现兼容性,我们加上-webkit- */

-webkit-filter : function (param);

-webkit-filter : filter: none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | saturate() | sepia() | url();

/*提示: 允许多个滤镜,之间使用空格分隔。*/

5. CSS滤镜实例演示 : 通过代码演示,了解各个滤镜之间不同的效果

– grayscale 灰度

– sepia 褐色

– saturate 饱和度

– hue-rotate 色相旋转

– invert 反色

– opacity 透明度

– brightness 亮度

– contrast 对比度

– blur 模糊

– drop-shadow 阴影返回搜狐,查看更多

责任编辑:

html怎么改变图片亮度,纯干货,前端学者的福音!如何使用css滤镜改变图片颜色...相关推荐

  1. css显示内容越来越模糊_纯干货,前端学者的福音!如何使用css滤镜改变图片颜色...

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

  2. 解锁ChatGPT超高级玩法,展示动态图片,纯干货分享!

    文 / 韩彬(微信公众号:量子论) 这段时间在玩ChatGPT,总是文字,我有点玩腻了,突然想让ChatGPT返回一张图片,可是它却答复: 很抱歉,作为一个语言模型,我无法展示图片.但你可以在搜索引擎 ...

  3. 图片上传流程前端上传文件后端保存文件并返回图片地址

    也是在最近一点时间写小demo 遇到的一些问题 比如在用户界面,用户选择本地的一张照片,前端把照片传到后端,后端怎么把照片保存到服务器,然后返回给 图片线上地址.也是找了一些文章,然后分享下. 技术 ...

  4. js把html转换成图片格式,纯JS实现将DIV中的内容转化为PNG图片

    //1.将div转成svg var data = "data:image/svg+xml," + "" + "" + " &quo ...

  5. 如何批量调整图片亮度?

    如果你是一名设计工作者或者自媒体工作者,每天要处理很多的图片,如果遇到图片偏暗的时候我们就需要调整它的亮度,让图片更好看,在调整图片亮度时,我们习惯用PS软件来完成,但是很多小伙伴还不会使用ps. 尤 ...

  6. 前端技巧|利用CSS属性修改图片颜色

    熟悉前端开发的小伙伴肯定有遇到过这种情况,那就是需要给一个图标或者图片增加一个移动变色等属性,传统做法就是再添加一个颜色的图片文件替换,那么有没有可能直接利用css属性来变更颜色呢? 其实是可以实现的 ...

  7. 技巧分享:如何利用CSS属性修改图片颜色?

    熟悉前端开发的小伙伴肯定有遇到过这种情况,那就是需要给一个图标或者图片增加一个移动变色等属性,传统做法就是再添加一个颜色的图片文件替换,那么有没有可能直接利用css属性来变更颜色呢? 其实是可以实现的 ...

  8. CSS 背景色 背景图片 渐变背景 - 径向渐变 background-image:radial-gradient()

    radial-gradient() 用来生成径向渐变的图片 基础语法 background-image: radial-gradient(shape extent at positionX posit ...

  9. canvas换图时候会闪烁_Canvas实现图片上标注、缩放、移动和保存历史状态,纯干货(附CSS 3变化公式)...

    (给前端大学加星标,提升前端技能.) 作者:zhcxk1998 https://juejin.im/user/5d4304bdf265da03d15531dc 哈哈哈俺又来啦,这次带来的是canvas ...

最新文章

  1. 独家 | 每个数据科学家应该知道的五种检测异常值的方法(附Python代码)
  2. C#显示百度地图API
  3. pymysql语法_如何使用PyMySQL模块进行增删改查?
  4. 文件目录遍历的并发算法
  5. JDK1.5中的线程池(java.util.concurrent.ThreadPoolExecutor
  6. Mac系统中MongoChef链接MongoDB集群的方法
  7. [CQOI2018] 解锁屏幕(状压dp)
  8. HTTP Status 500 - The absolute uri: http://java.sun.com/jsp/jstl/core cannot-报错解决方法
  9. SPSS分析技术:多元方差分析
  10. 微软银光 Sliverlight
  11. 无人驾驶之入门(开篇)
  12. confly MySQL_MYSQL的操作类(已封装)
  13. 学java到底好在哪里你知道吗?(附低配版王者荣耀开发视频)
  14. 提问的智慧(学习笔记)
  15. 线程的虚假唤醒(Spurious Wakeups)以及解决方案
  16. Visio中字体与Word中字体的对应
  17. IPSEC over GRE
  18. git 分支关系图谱讲解
  19. 20多年来,我国网络文学行业发生了天翻地覆的变化
  20. 信号与系统笔记 拉普拉斯变换的性质

热门文章

  1. 10天用Flutter撸了个高仿携程App,赶紧收藏!
  2. 根据数据和模板动态生成页面+列表的动态渲染
  3. 提高硬件设计能力的学习路线
  4. STM32STM8系列MCU产品命名
  5. python爬虫(八、爬取图片社的小姐姐图片并下载)
  6. ubuntu 搭建git仓库
  7. 非常详细的/etc/passwd解释
  8. 开发微信小程序的过程记录
  9. html 标签 标记区别,html header标签和footer标签区别的两点总结(附元素区别实例)...
  10. 【PAT】1028 人口普查