CSS濾鏡雖然只能在IE瀏覽器中表現(xiàn)出效果,但是仍不失為網(wǎng)頁增加特效的好辦法。
?
1. CSS靜態(tài)濾鏡樣式 (filter)
CSS靜態(tài)濾鏡樣式的使用方法:{ filter : filtername( parameters1, parameters2, ...) }
?
Filter樣式 簡要說明 支持參數(shù)
alpha 設(shè)置圖片或文字的不透明度 opacity、finishOpacity、style、startX、startY、finishX、finishY、add、direction、strength
blur 在指定的方向和位置上產(chǎn)生動(dòng)感模糊效果 add、direction、strength
chroma 對所選擇的顏色進(jìn)行透明處理 color
dropShadow 在指定的方向和位置上產(chǎn)生陰影 color、offX、offY、positive
flipH 沿水平方向翻轉(zhuǎn)對象
flipV 沿垂直方向翻轉(zhuǎn)對象
glow 在對象周圍上發(fā)光 color、strength
gray 將對象以灰度處理
invert 逆轉(zhuǎn)對象顏色
light 對對象進(jìn)行模擬光照
mask 對對象生成掩膜 color
shadow 沿對象邊緣產(chǎn)生陰影 color、direction
wave 在垂直方向產(chǎn)生正弦波形 add、freq、lightStrength、phase、strength
xray 改變對象顏色深度,并繪制黑白圖象
?
以上就是靜態(tài)濾鏡的全部內(nèi)容, 要注意的是CSS是區(qū)分大小寫的!
?
?
2. CSS動(dòng)態(tài)濾鏡
?
動(dòng)態(tài)濾鏡可以為頁面添加動(dòng)人的淡入淡出、圖象轉(zhuǎn)化效果,它可以分為兩種blend(混合)和reveal(顯示),前者可以使對象漸漸消失或出現(xiàn), 后者 提供了24種圖象轉(zhuǎn)化的效果。對于動(dòng)態(tài)濾鏡的調(diào)用除去象在靜態(tài)濾鏡中要定義的濾鏡類型,參數(shù)等等,還用到腳本語言控制它的狀態(tài)。
?
首先,在開始一個(gè)動(dòng)態(tài)效果之前,先需要進(jìn)行裝備(Apply),然后播放(Play)動(dòng)態(tài)效果,在動(dòng)態(tài)效果進(jìn)行中還可以中斷動(dòng)態(tài)效果(Stop),以上可以用下面的方法實(shí)現(xiàn):
?
對象名.filters(濾鏡數(shù)值).Apply()
對象名.filters(濾鏡數(shù)值).Play()
對象名.filters(濾鏡數(shù)值).Stop()
?
對于濾鏡狀態(tài)的判斷可以通過“對象名.filters(濾鏡數(shù)值).status”判斷,該值為0時(shí),表示濾鏡未執(zhí)行,為1時(shí),表示濾鏡已經(jīng)完成, 為2時(shí)表示濾鏡在執(zhí)行中。在定義filter時(shí),如上面所提到的,可以有混合(“filter:blendTrans(duration=時(shí)間數(shù) 值)”,duration表示濾 鏡執(zhí)行需要的時(shí)間,單位為秒)和顯示(“filter:revealTrans(duration=時(shí)間數(shù)值,transition=過渡類型)”,過渡 類型為從0-23的數(shù)值)兩種。
?
濾鏡目前還未被W3C正式承認(rèn)。濾鏡只是微軟IE瀏覽器的組成部分,不能用于Netscape瀏覽器。制定有關(guān)標(biāo)準(zhǔn)的組織正在就此進(jìn)行討論,但尚未 達(dá)成最后定論。在我看來,濾鏡是一種非常有趣而且是制作精彩的視覺效果必不可少的一部分。濾鏡能節(jié)省帶 寬,而且是你能在制作奇妙的視覺設(shè)計(jì)時(shí)使用文字格式,而不必先制作龐大的文字位圖以取得相同的效果。但由于這些功能尚未成為HTML的正式組成部分,所以 并不是所有的瀏覽器都能看到這些特色。有些時(shí)候,你必須考慮以傳統(tǒng)的方式制作相同的效果,當(dāng)然,你不得不繼續(xù)將龐大的GIF文件塞到網(wǎng)頁之中。?
實(shí)例講解
?
現(xiàn)在非常多的朋友搞個(gè)人網(wǎng)頁,而且做的五彩繽紛,各有特色,但是比較多的朋友把大大的一幅圖象放在頁面上,致使頁面下載很慢,加上用GIF格式做動(dòng) 畫,盡管用GIF格式搞的動(dòng)畫比較苗條,但是也不大合算。能否不用特別做的圖象,不用GIF格式做動(dòng)畫,可以把頁面搞的生氣活現(xiàn)呢?可以,但 JAVASCRIPT比較對一般初學(xué)者來說是比較難的,筆者今天要用IE本身內(nèi)含的STYLE這個(gè)重量級的命令屬性中的RevealTrans和濾鏡來搞 搞新意思!希望網(wǎng)友們能靈活運(yùn)用這些濾鏡和頁面切換效果,把自己的主頁搞的有聲有色!不斷進(jìn)步!
?
Style屬性可以應(yīng)用在標(biāo)簽中,更可用廣泛應(yīng)用 在<table><tr><td><body><center><img><input><font><form><frame><label><map> 等等標(biāo)簽中,更重要的是,它可用在標(biāo)簽中。
?
頁面切換效果:
在頁面前部與之間加入""
說明:duration為頁面切換的時(shí)間長度,3.000表示3秒鐘,一般可以直接輸入3便可;transition為切換效果,從1-23共22種不同的切換效果,其中23為隨機(jī)效果。
?
濾鏡效果:
Photoshop的濾鏡用的多了吧,在頁面中也用濾鏡搞搞新意思吧!
語法: filter:filtername(fparameter1,fparameter2...)
(Filtername為濾鏡的名稱,fparameter1、fparameter2等是濾鏡的參數(shù))
濾鏡說明:
Alpha:設(shè)置透明層次.
blur:創(chuàng)建高速度移動(dòng)效果,即模糊效果.
Chroma:制作專用顏色透明.
DropShadow:創(chuàng)建對象的固定影子.
FlipH:創(chuàng)建水平鏡像圖片.
FlipV:創(chuàng)建垂直鏡像圖片.
glow:加光輝在附近對象的邊外.
gray:把圖片灰度化.
invert:反色.
light:創(chuàng)建光源在對象上.
mask:創(chuàng)建透明掩膜在對象上.
shadow:創(chuàng)建偏移固定影子.
wave:波紋效果.
Xray:使對象變的像被x光照射一樣.
?
1、濾鏡:Alpha
語法:filter:Alpha(Opacity=opacity,FinishOpacity=finishopacity,Style=style,StartX=startX,StartY=startY,F(xiàn)inishX=finishX,F(xiàn)inishY=finishY)
說明:
Opacity:起始值,取值為0~100, 0為透明,100為原圖。
FinishOpacity:目標(biāo)值。
Style:1或2或3
StartX:任意值
StartY:任意值
例子:filter:Alpha(Opacity="0",FinishOpacity="75",2)
2、濾鏡:blur
語法:filter:Blur(Add = add, Direction = direction, Strength = strength)
說明:
Add:一般為1,或0。
Direction:角度,0~315度,步長為45度。
Strength:效果增長的數(shù)值,一般5即可。
例子:filter:Blur(Add="1",Direction="45",Strength="5")
3、濾鏡:Chroma
語法:filter:Chroma(Color = color)
說明:color:#rrggbb格式,任意。
例子:filter:Chroma(Color="#FFFFFF")
4、濾鏡:DropShadow
語法:filter:DropShadow(Color=color, OffX=offX, OffY=offY, Positive=positive)
說明:Color:#rrggbb格式,任意。
Offx:X軸偏離值。
Offy:Y軸偏離值。
Positive:1或0。
例子:filter:DropShadow(Color="#6699CC",OffX="5",OffY="5",Positive="1")
5、濾鏡:FlipH
語法:filter:FlipH
例子:filter:FlipH
?
6、濾鏡:FlipV
語法:filter:FlipV
例子:filter:FlipV
7、濾鏡:glow
語法:filter:Glow(Color=color, Strength=strength)
說明:
Color:發(fā)光顏色。
Strength:強(qiáng)度(0-100)
例子:filter:Glow(Color="#6699CC",Strength="5")
8、濾鏡:gray
語法:filter:Gray
例子:filter:Gray
9、濾鏡:invert
語法:filter:Invert
例子:filter:Invert
10、濾鏡:mask
語法:filter:Mask(Color=color)
例子:filter:Mask (Color="#FFFFE0")
11、濾鏡:shadow
語法:filter:Shadow(Color=color, Direction=direction)
說明:
Color:#rrggbb格式。
Direction:角度,0-315度,步長為45度。
例子:filter:Shadow (Color="#6699CC", Direction="135")
12、濾鏡:wave
語法:filter: Wave(Add=add,F(xiàn)req=freq,LightStrength=strength,Phase=phase, Strength=strength)
說明:
Add:一般為1,或0。
Freq:變形值。
LightStrength:變形百分比。
Phase:角度變形百分比。
Strength:變形強(qiáng)度。
例子:filter: wave(Add="0", Phase="4", Freq="5", LightStrength="5", Strength="2")
13、濾鏡:Xray
語法:filter:Xray
例子:filter:Xray;
14.顏色變化
語法:filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr="#B5CCFA", EndColorStr="#B5CCFA");
?
?
?
Filter 為微軟的專有技術(shù),并被應(yīng)用到 IE4.0 及以上的 IE 瀏覽器中,所以只有 IE 支持。其他瀏覽器中對 Filter 無任何效果。調(diào)用 Filter 對應(yīng)的 DOM 對象將會出錯(cuò)。
IE4.0 以上版本的 IE 瀏覽器中可以通過 CSS 在網(wǎng)頁中應(yīng)用多種多媒體樣式的視覺效果,這就是微軟的 Filter 技術(shù)。隨著 IE 版本的增加,并在各版本中不斷的加強(qiáng) Filter 效果。通過將 Filter 與腳本的結(jié)合,可以在頁面中實(shí)現(xiàn)各種復(fù)雜的特效,如半透明、陰影、投影、遮罩、模糊、漸變、波浪、圖片翻轉(zhuǎn)等效果。
?
透明效果:filter:alpha(opacity=50);黑白照片:filter: gray;
X光照片:filter: Xray;
風(fēng)動(dòng)模糊:filter: blur(add=true,direction=45,strength=30);
正弦波紋:filter: Wave(Add=0, Freq=60, LightStrength=1, Phase=0, Strength=3);
半透明效果:filter: Alpha(Opacity=50);
線型透明:filter: Alpha(Opacity=0, FinishOpacity=100, Style=1, StartX=0, StartY=0, FinishX=100, FinishY=140);
放射透明:filter: Alpha(Opacity=10, FinishOpacity=100, Style=2, StartX=30, StartY=30, FinishX=200, FinishY=200);
白色透明:filter: Chroma(Color=#FFFFFF);
降低色彩:filter: grays;
底片效果:filter: invert;
左右翻轉(zhuǎn):filter: fliph;
垂直翻轉(zhuǎn):filter: flipv;
投影效果:filter:progid:dXImageTransform.Microsoft.DropShadow(color=#cccccc,offX=5,offY=5,positives=true);
馬賽克:filter:progid:dXImageTransform.Microsoft.Pixelate(maxsquare=3);
發(fā)光效果:filter:progid:dXImageTransform.Microsoft.Glow(color=#cccccc,Strength=5);
柔邊效果:filter:alpha(opacity=100, finishOpacity=0,style=2;
許多 Filter 中的特效均已進(jìn)入了 CSS3 草案,并在新版的非 IE 瀏覽器中得到了很好的支持。
?
?
?
Microsoft.AlphaImageLoader濾鏡講解
?
Microsoft.AlphaImageLoader 是 IE濾鏡 的一種,其主要作用就是對圖片進(jìn)行透明處理。雖然FireFox和IE7以上的IE瀏覽器已經(jīng)支持透明的PNG圖片,但是就IE5-IE6而言還是有一定的意義。
enabled | : |
可選項(xiàng)。布爾值(Boolean)。設(shè)置或檢索濾鏡是否激活。
true
|
false
|
|||||||||
sizingMethod | : |
可選項(xiàng)。字符串(String)。設(shè)置或檢索濾鏡作用的對象的圖片在對象容器邊界內(nèi)的顯示方式。
|
|||||||||
src | : | 必選項(xiàng)。字符串(String)。使用絕對或相對 url 地址指定背景圖像。假如忽略此參數(shù),濾鏡將不會作用。 |
Enabled | : | 可讀寫。布爾值(Boolean)。參閱 enabled 屬性。 |
sizingMethod | : | 可讀寫。字符串(String)。參閱 sizingMethod 屬性。 |
src | : | 可讀寫。字符串(String)。參閱 src 屬性。 |
PNG(Portable Network Graphics)格式的圖片的透明度不妨礙你選擇文本。也就是說,你可以選擇顯示在PNG(Portable Network Graphics)格式的圖片完全透明區(qū)域后面的內(nèi)容。
.dream{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/earglobe.gif');}
?
P.S. 當(dāng)想使用backgroundimage屬性時(shí),如果不想讓圖片原尺寸顯示,而是類似于IMG width=100% heigth=100% 的效果,可以通過此filter實(shí)現(xiàn)。
?
span.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='test.jpg', sizingMethod='scale')";引用:最后說說關(guān)于FF和IE效果調(diào)和問題。這個(gè)濾鏡效果只適用于IE,在FF下面無法顯示,我想這是前輩說他很難實(shí)現(xiàn)的最終問題了。以往我們用*或者_(dá)來修復(fù)IE下和FF的區(qū)別.這一次是要找方法修復(fù)FF不能實(shí)現(xiàn)的問題.
其實(shí)想到的話,也很簡單了.就是先讓FF正常顯示該圖片,然后,用*或_ 來清除IE下的顯示效果,最后用*或_ 來做以上的濾鏡效果。大功告成!
以上是官方的說明。事實(shí)上實(shí)際操作中需要注意:AlphaImageLoader濾鏡會導(dǎo)致該區(qū)域的鏈接和按鈕無效,一般情況下的解決辦法是為鏈接或按鈕 添加:position:relative使其相對浮動(dòng) 要注意的是,當(dāng)加載濾鏡的區(qū)域的父層有position:absolute絕對定位的時(shí)候使用position:relative也不能使鏈接復(fù)原。建議 使用浮動(dòng)辦法處理。
具體操作:
- 為預(yù)覽區(qū)域(比如要在某個(gè)?div 中預(yù)覽)添加樣式:filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);。
- 為 AlphaImageLoader 設(shè)置 src 屬性。
?
?
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
