谈Filter在网页中的运用

网页

  自W3C公布了样式单(CSS)的标准以来,HTML的每一部分开始以元素的形式出现,并且事件开始真正被引入页面,动态HTML成为了人们讨论的热点。实际上,W3C采用的标准即为微软的DOM,也就是说IE4.0可以更好的支持CSS,并且微软对CSS还进行了许多十分有益地探索,Filter就是一个很好的例子。 
  众所周知,Javascript或Vbscript作为脚本语言,其功能是不完善的,有许多高级语言的功能无法实现,如图象的处理功能。Filter是微软对CSS的扩展,与PhotoShop中的滤镜概念相似,它可以用很简单的方法对页面中的文字特效作出特效处理,静态如阴影、模糊的效果,动态如各种淡入淡出效果。下面我来仔细讲解一下(以下内容需在IE4.0下浏览):

  静态滤镜:

  要显示滤镜效果,必须先建立一个区域(<div>),并规定区域的范围(width和height),以下是对一个一般区域的规定:

<style>
<!--div {height:50;width:300;font-size:20pt}//-->
</style>

  把此样式单放入到“<head>”标记和“<body>”之间,然后在“<body>”标记间填写正文:

<div>…………</div>

  在“<div>”标记中插入样式单:style="filter:样式(参数1,参数2,参数3……);"

  下面给出完整的例子:

<HTML>
<head>
</head>
<style>
div {height:100;width:400;font-size:20pt}
</style>
<body bgcolor=yellow>
<h1 align=center>Filter Effects</h1><hr>
<div style="filter:wave(add=0,freq=1,lightStrength=20,phase=50,strength=20)">
<img src="http://www.webjx.com/htmldata/2005-02-23/http://www.webjx.com/htmldata/2005-02-23/00cirr.gif">
this is div
is 
wave-filtered</div>
<div style="filter:alpha (opacity=10, finishOpacity=10, style=10, startX=10, startY=10, finishX=20, finishY=30, add=0, direction=45, strength=10)">
this is alpha.
<img src=http://www.webjx.com/htmldata/2005-02-23/http://www.webjx.com/htmldata/2005-02-23/00cirr.gif>
</div>
<div style="filter:blur(add=0,direction=45,strength=5)">
this is blur effect.
<img src=http://www.webjx.com/htmldata/2005-02-23/http://www.webjx.com/htmldata/2005-02-23/00cirr.gif>
</div>
<div style="filter:chroma(color=white)">
this is chroma effect 
<img src=http://www.webjx.com/htmldata/2005-02-23/http://www.webjx.com/htmldata/2005-02-23/00cirr.gif>
</div>

<div style="filter:flipV">
this is flipV effect
<img src=http://www.webjx.com/htmldata/2005-02-23/http://www.webjx.com/htmldata/2005-02-23/00cirr.gif>
</div>
</body>
</html>

  以wave滤镜为例,它在垂直方向产生正弦波形,其中参数add表示是否加入原图象(1=是,0=否),freq表示波的数量,phase表示波形的起始偏移量,lightStrength表示光对波纹照射的强度,strength表示波的强度。下表是Filter支持的所有滤镜样式及其参数:

  其中经常出现的color属性可以用十六进制表示(如#ff0000),也可以用rgb()表示(如rgb(255,0,0)),还可用系统承认的颜色名表示(如red)。

  以上就是静态滤镜的全部内容,要注意的是CSS是区分大小写的!

  动态滤镜

  动态滤镜可以为页面添加动人的淡入淡出、图象转化效果,它可以分为两种blend(混合)和reveal(显示),前者可以使对象渐渐消失或出现,后者提供了24种图象转化的效果。对于动态滤镜的调用除去象在静态滤镜中要定义的滤镜类型,参数等等,还用到脚本语言控制它的状态,首先,在开始一个动态效果之前,先需要进行装备(Apply),然后播放(Play)动态效果,在动态效果进行中还可以中断动态效果(Stop),以上可以用下面的方法实现:

对象名.filters(滤镜数值).Apply()
对象名.filters(滤镜数值).Play()
对象名.filters(滤镜数值).Stop()

  对于滤镜状态的判断可以通过“对象名.filters(滤镜数值).status”判断,该值为0时,表示滤镜未执行,为1时,表示滤镜已经完成,为2时表示滤镜在执行中。

  在定义filter时,如上面所提到的,可以有混合(“filter:blendTrans(duration=时间数值)”,duration表示滤镜执行需要的时间,单位为秒)和显示(“filter:revealTrans(duration=时间数值,transition=过渡类型)”,过渡类型为从0-23的数值)两种,下面请看混合的例子:

<html>
<head>
</head>
<body>
<div style="position:absolute;left:200;top:50;width:400;height:220;background-
color:yellow;
color:blue;font-size:20px;border:solid black;"
id="main">
<div id="Inner1" 
style="position:relative;left:20%;top:35%;width:60%;height:30%; filter:blendTrans(duration=3);">
<p align=center>演示区域</p>
</div>
<div id="control" style="position:absolute;left:180;top:180">
<input type=button value="开始" >
</div>
</div>
<script language="JavaScript">
var curObj=Inner1,i=0;
words=new Array(3);
words[0]="<p align=center>渐渐隐去</p>";
words[1]="<p align=center>慢慢浮现</p>";
words[2]="<p align=center>这就是Blend的效果</p>";

function toggleMultimedia() {
curObj.innerHTML=words[i];
if (curObj.filters(0).status == 2) {
curObj.filters(0).Stop();
if (curObj.style.visibility == "hidden")
curObj.style.visibility = "visible";
else
curObj.style.visibility = "hidden";
window.setTimeout("toggleMultimedia()", 1);
}
//准备开始
curObj.filters(0).Apply();

if (curObj.style.visibility == "hidden")
{curObj.style.visibility = "visible";}
else
{curObj.style.visibility = "hidden";
if (i==2) i=-1;
i=i+1;}

//开始
curObj.filters(0).Play();
window.setTimeout("toggleMultimedia()",4000);
}
</script>
</body>
</html>

  下面的例子是reveal的例子。

<HTML>
<head>
<script language="Javascript">
var i=0;
function filter_me(){

if (change.filters(0).status!=2){i=i+1;
if (i%2!=0){
change.style.backgroundColor='yellow';
change.filters(0).Apply();
change.filters(0).Play();
change.style.visibility='hidden';
}
else {
change.style.backgroundColor='brown';
change.filters(0).Apply();
change.filters(0).Play();
change.style.visibility='visible';}
}
}
</script>
</head>
<body>
<div id=change style="color:blue;border:solid 
black;position:absolute;left:250;top:100;width:300;height:200;filter: revealTrans(Duration=0.8,Transition=23)"><h1>
Something like this :-></h1>

change.filters(0).Apply();
change.filters(0).Play();
change.style.visibility='hidden';
change.style.backgroundColor='yellow'
</div>
<div style="position:absolute;left:470;top:310">
<input type=button id=button1 value="Click me" 
>
</div>
</body>
</HTML>

  在Frontpage98中也可以通过设定页面的参数得到,如要在进入页面时要显示某种特效可以在“<body>”标记前加入“<meta http-equiv="Page-Enter" content="revealTrans(Duration=1.0,Transition=22)">”,这个特效在Frantpage98菜单的“样式/页面特效”中找到,而reveal的24种特效你也可以在其中找到名称,值得一提的是第24种特效可以随机从前23种之一中选择一种显示。

时间: 2024-10-31 15:49:03

谈Filter在网页中的运用的相关文章

谈一谈网页中单个页面如何做好SEO优化

摘要: 做为站长你可能经常听到一句话:内容为王.其中的王实际就是指用户所需要的内容,对于搜索引擎优化来说,任何排名靠前的页面,首先他必须有一些优质的内容. 当然这里我们并不 做为站长你可能经常听到一句话:内容为王.其中的"王"实际就是指用户所需要的内容,对于搜索引擎优化来说,任何排名靠前的页面,首先他必须有一些优质的内容. 当然这里我们并不想谈及如何把内容做好,而是想谈下网页中单个页面如何做好SEO优化,同时又能提高用户体验,让用户更容易接受你的内容. 1,网页内容的长度 对于搜索引擎

简单谈一下制作网页时如何选择字体和字体大小

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 网站建设中的字体及字体大小的的选择直接影响着网站整体的视觉效果,在某种程度上也会对网站优化起到一定的作用,比如大号字体和黑体字在网页上显示 更加醒目,具有加强某些信息显示的效果,而搜索引擎也会捕捉到这些字体的大小,更重视这些大号字体和黑体字内的信息.虽然现在的字体种类非常多,但是可以供网站建设人员选择的字体还是比较少的,主要是因为网站建设要以

CSS实现的网页中文字排版的几种方式

CSS实现的网页中文字排版的几种方式!如果用得上可以直接用现成的了! 1.文字倒排(逆时针转90度)<br><br><span style="font-family:@宋体;color:red">尽人事 顺天命</span><br><br>2.文字正写竖排,中文竖排,从右往左读<br><br><div style="layout-flow: vertical-ideograp

学习网页中的图片如何应用CSS的滤镜的效果

有时候,我们需要给网页中的图片加一些特殊的效果,比如透明.扭曲.阴影或者翻转等,我们一般都会想到用Photoshop等一些图形软件来处理,其实我们也可以利用CSS(层叠式样表)提供的一些滤镜来处理,这对于不熟悉Photoshop的网友来说,是非常好的一件事. 我们先从较简单的开始,介绍几个没有参数的滤镜. 1.Gray滤镜 Gray滤镜的作用是产生黑白效果 使用方法:<img src=www.ddvip.com" style="filter:gray"> 2.In

网页中屏蔽右键方法

众所周知,要保护一个页面,最基础的就是要屏蔽右键,这篇文章教你如何完美屏蔽. 如何在网页中屏蔽右键                             众所周知,要保护一个页面,最基础的就是要屏蔽右键.而现在网页上用得最多的是function click(),即下面这段代码:     〈script〉 function click(){ if(event.button==2){ alert( '本网站欢迎您 !!'); } } document.onmousedown=click 〈/scr

网页中轻松实现三维字体

网页 在网页中加入三维字体,可以让你的网页增色不少!本文的目的是:通过一个对照例子,让你能够轻松地在网页中实现三维字体,让你快速入门!如果你是初学者,只要一分钟,就可以学会了!若你是高手,那我只能算是班门弄斧了!演示地址:把握时间网址首页http://www.85time.com 例一: <HTML> <HEAD> <STYLE type=text/css>A { TEXT-TRANSFORM: none; TEXT-DECORATION: none } A:hover

SEO知识:谈谈关键字在网页中得表现和分布

        当选取了某个关键字,需要把关键字融入到网页中,透过这种信息,才能告诉搜索引擎,这张网页与某关键字息息相关.比如你的网站是销售"炒股软件"相关的网站,于是你设定了网站首页要优化的关键字是"炒股软件",可是在整个网页中,由始至终都没有出现过"炒股软件"这四个字,所以即使网页再优秀,在搜索引擎输入"炒股软件"这个关键字时,也找不到,因为搜索引擎无法得知你的网页和"炒股软件"这个关键字息息相关.关键

详解网页中的关键词分布技术

兰州SEO杨帆在曾经在文章<快速提升网站排名之关键词选择>一文中详细阐述了关键词选择的重要性和如何去选择主关键词.那么在选择好关键词后,我们就需要进入下一个技术要点:关键词分布. 谈到SEO策略中的关键词分布技术,就不得不提到SEOWHY的SEO工程师夫唯老师.在2009年6月的谷歌优化指南广州讨研会上,夫唯老师提出了"四处一词"这个关键词分布技术.这个理论最终受到了谷歌官方代表以及与会其他的SEO行业人士的一致赞同. 目前的关键词分布技术,主要还是采用夫唯老师提出的四处一

如何下载网页中的Flash

在我们浏览网页的过程中,经常会遇到自己比较喜欢的Flash影片,或者适合我们教学的Flash课件.在我们经常赞叹网页中Flash影片的制作精细,极富表现力的同时,也有许多遗憾:只有少数作品能够直接点击下载.如果我们能较容易地把网页中Flash影片下载下来进行收藏,或者添加到自己的网页中,或者运用到日常教学中,那么就能使我们拥有更多可利用的资源.下面我就谈一谈自己在平时下载Flash影片的一些方法. 利用"Flash抓捕器" 1.安装"Flash抓捕器" 可以从百度上