详解CSS3中强大的filter(滤镜)属性

博主最近在做网站的过程中发现了一个非常强大的css3属性,就是filter(滤镜)属性,喜欢p图的朋友看名字都应该知道这是什么神器了吧。当然,这个属性的效果肯定不能跟ps相比,但是利用的好的话可以在节约很多空间下,把一张图做成两张图的效果。

1、定义   

filter,从字面意思来看就是滤镜,官方定义filter属性定义了元素(通常是<img>)的可视效果(例如:模糊与饱和度);举个栗子:

<style>
    img{
      /*灰度100%*/
        -webkit-filter:grayscale(100%);
    }
</style>
<img src="img/boke.png" alt="">

    

看到这个效果,博友们是不是都开始对filter开始感兴趣了呢 ?

2、语法

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

可以看到,属性有很多可选值,他们都是什么意思呢?    

  1. grayscale灰度
  2. sepia褐色(有种复古的旧照片感觉)
  3. saturate饱和度
  4. hue-rotate色相旋转
  5. invert反色
  6. opacity透明度
  7. brightness亮度
  8. contrast对比度
  9. blur模糊
  10. drop-shadow阴影

举个栗子:

这里用sepia调整

 <head>
     <meta charset="utf-8">
      <title>title</title>
      <style>
          .img{

             -webkit-filter:sepia(70%);
          } 
      </style>
  </head>
 <body>
 <img src="img/boke.png" alt="">
 <img class="img" src="img/boke.png" alt="">
 </body>

示例图片:

 

3、示例   

下面,对filter属性的其中几个值做一个示例,其他好玩的东西需要博友们一起发掘,有啥好玩的可以跟我一起分享哟

(1)hue-rotate(色彩旋转)

效果看图吧,具体使用效果要靠大家发掘:

     <style>
          .img{
              -webkit-filter:hue-rotate(330deg);
          }
      </style>
  </head>
  <body>
  <img src="img/boke.png" alt="">
  <img class="img" src="img/boke.png" alt="">
 </body>

效果图:

 

(2)blur(模糊)

blur(模糊效果,单位px)    

     <style>
          .img{
            -webkit-filter:blur(1px);
          }
      </style>
  <body>
  <img src="img/boke.png" alt="">
  <img class="img" src="img/boke.png" alt="">
 </body>

示例图片:

 

(3)invert反色

invert反色会吧图片变成底片的感觉,多说无益,看代码:

 <style>
        .img{
            -webkit-filter:invert(100%);
        }
    </style>
<body>
<img src="img/boke.png" alt="">
<img class="img" src="img/boke.png" alt="">
</body>

示例图片:

好了,今天的分享就到这里了,谢谢大家的观看,其它的效果博主就不一一举例了。以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

相关推荐:

如何在对象属性批量更新后仅执行一次回调函数

本文介绍一种优雅的python设计模式:通过私有属性+只读属性+显式update()方法,确保对象状态变更时回调函数(如数据校验、视图刷新等)仅被触发一次,避免重复计算,同时保持ide类型提示与代码可维护性。 本文介绍一种优雅的python设计模式:通过私有属性+只读属性+显式update()方法,...

如何确保对象属性批量更新后仅触发一次回调函数

本文介绍一种优雅的Python设计方案:通过禁用直接属性赋值+提供类型安全的update()方法,实现在多个属性变更后统一、且仅执行一次回调函数,兼顾IDE智能提示、代码可维护性与运行时可靠性。 本文介绍一种优雅的python设计方案:通过禁用直接属性赋值+提供类型安全的`update()`方法,实...

SimPy 容器资源 level 属性的更新时机与事件驱动调度机制解析

SimPy中Container.level的值并非实时反映“逻辑上当前时刻”的容量状态,而是严格遵循离散事件仿真中事件触发与协程挂起/恢复的时序逻辑;其看似异常的跳变源于yield导致的进程切换与属性读取时机错位,需通过监听事件回调或封装访问逻辑来获取准确的状态快照。 simpy中`containe...