前端开发者如何利用 CSS 实现酷炫的变色方案?

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

不过你以为上面的图片都是经过PS软件处理出来的?不不不,纯粹是用CSS写出来的,很神奇吧。

强大的 CSS:filter

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

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

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

filter: none

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

filter:blur( ) 高斯模糊

给图像一个高斯模糊效果,length值越大,图像越模糊。我们来尝试一下:

img {filter:blur(2px);;}
brightness(%) 线性乘法

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

img {filter:brightness(70%);}
contrast(%) 对比度

调整图像的对比度:

img {filter:contrast(50%);}
设置阴影效果(h-shadow v-shadow blur spread color)

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

利用这个方案,我们可以改变图标的颜色,比如黑色图标变成蓝色图标:

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

在这里,我们将图片投影形成一个同等大小的灰色区域:
hue-rotate(deg) 色相旋转

img {filter:hue-rotate(70deg);}

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值