本页主题: 妙用CSS滤镜为图片加上特殊效果 打印 | 加为IE收藏 | 复制链接 | 收藏主题 | 上一主题 | 下一主题

不羁的风
级别: 精灵王


精华: 0
发帖: 210
威望: 146 点
金钱: 490 RMB
贡献值: 360 点
好评度: 58 点
在线时间:44(小时)
注册时间:2005-09-07
最后登录:2007-06-02

 妙用CSS滤镜为图片加上特殊效果

图片:
有时候,我们需要给网页中的图片加一些特殊的效果,比如透明、扭曲、阴影或者翻转等,我们一般都会想到用Photoshop等一些图形软件来处理,其实我们也可以利用CSS(层叠式样表)提供的一些滤镜来处理,这对于不熟悉Photoshop的网友来说,是非常好的一件事。

  我们先从较简单的开始,介绍几个没有参数的滤镜。
  1.Gray滤镜
    Gray滤镜的作用是产生黑白效果
    使用方法:<img src="a.gif" style="filter:gray">
    效果如图所示

  2.Invert滤镜
    Invert滤镜的作用是反色效果
    使用方法:<img src="a.gif" style="filter:invert">
    效果如图所示

  3.Xray滤镜
    Xray滤镜的作用是产生X光效果
    使用方法:<img src="a.gif" style="filter:xray">
    效果如图所示

  4.fliph和flipv
    fliph滤镜的作用是产生水平翻转效果;flipv滤镜的作用是产生垂直翻转效果
    使用方法:<img src="a.gif" style="filter:fliph">或<img src="a.gif" style="filter:flipv">
    效果如图所示

 
  接下来,我们再介绍几个比较复杂的滤镜:

  5.alpha滤镜
    alpha滤镜作用主要是对图片的透明度进行处理
    使用方法:<img src="a.gif" style="filter:alpha(opacity=value1,finishopacity=value2,style=value3)">
    说明:value1为图片的透明值,范围是0(完全透明)~100(完全不透明)
  value2为图片透明度变换结束时的透明值,范围是0(完全透明)~100(完全不透明) 注:该值只有在value3设定时才有效
        value3为图片透明度变换方向。取值为1时,图片透明度按从左到右线性变化;取值为2时,图片透明度从内到外沿半径变化;取值为3时,图片透明度从内到外呈矩形变化
    例:<img src="a.gif" style="filter:alpha(opacity=0,finishopacity=60,style=2)">
    效果如图所示

  6.shadow滤镜
    shadow滤镜的作用是产生阴影效果
    使用方法:<img src="a.gif" style="filter:shadow(color=value1,direction=value2)">
    说明:value1为阴影的颜色值,如000000表示黑色
  value2为光线照射角度,如135
    例:<img src="a.gif" style="filter:shadow(color=000000,direction=135)">
    效果如图所示

  7.wave滤镜
    wave滤镜的作用是使图片产生扭曲效果
    使用方法:<img src="a.jpg" style="filter:wave(add=value1,freq=value2,lightstrength=value3,phase=value4,strength=value5)">
    说明:value1的取值为1时,将原图片增加到处理过的图片上;为0时,则不增加
        value2为视觉扭曲的波浪数
        value3是波形亮度百分比,取值范围为0~100
        value4为正弦波开始偏移的初始量,取值范围为0~100
        value5为波形效果的强度
    例:<img src="a.jpg" style="filter:wave(add=0,freq=5,lightstrength=50,phase=0,strength=5)">
    效果如图所示
 

  下面我们举一个简单的例子,浏览时会出现这样的一个效果:网页上有一个几乎透明的图像,当鼠标移到图像上时,图像慢慢变清晰;当鼠标移开时,图像又恢复到原来的透明状态。
  要实现这个功能,需要使用到CSS的alpha滤镜,并用javascript来控制alpha滤镜的Opacity值,首现在网页中插入一个图片,并设定alpha滤镜的opacity值,让图片透明,图片代码为:<img src="a.gif" id="me" style="FILTER:alpha(Opacity=20)">.
   
  javascript代码如下:

  <script language="javascript">
    function ch(n)
    {
if(n=="add")     //如果传入的参数为add,则将图片的不透明度增大
  if(me.filters.alpha.Opacity<100)
  {
    me.filters.alpha.Opacity=me.filters.alpha.Opacity+5;
    setTimeout("ch('add')",10);
  }

if(n=="dec")     //如果传入的参数为dec,则将图片的不透明度降低
  if(me.filters.alpha.Opacity>20)
  {
    me.filters.alpha.Opacity=me.filters.alpha.Opacity-5;
  setTimeout("ch('adc')",10);
  }
    }
    </script>

  将上面的代码加入<head></head>中,然后给图片加入onMouseOver和onMouseOut动作,即<img src="a.gif" id="me" style="FILTER:alpha(Opacity=20)" onMouseOver="ch('add')" onMouseOut="ch('dec')">.
  好了,关于CSS滤镜我们就介绍到这里,相信各位开动脑子,一定会做出更好的效果。
<br>
启天网络
http://www.7tsky.com
顶端 Posted: 05-10-07 21:50 | [楼 主]
帖子浏览记录 版块浏览记录
群熵信息 - 技术讨论区 » WEB脚本技术进阶

Total 0.008375(s) query 4, Time now is:12-15 21:56, Gzip enabled
Powered by PHPWind v6.3.2 Certificate Code © 2003-08 PHPWind.com Corporation

上海服务器租用 杭州世导双线服务器托管 云主机 VPS