一. 索引透明,布爾透明, alpha 透明
索引透明:fireworks中可以選擇某一顏色作為透明輸出;
布爾透明:只能為不透明或全透明;
alpha透明:有不透明,全透明和半透明。
二. PNG8, PNG24, PNG32
現在都提倡用PNG8,好處就不用多說了.但是fireworks和photoshop導出的PNG圖片卻有一些不同。
1. fireworks
(1. 可以導出布爾透明,alpha透明的PNG8,半透明的PNG8在IE6下全透明,用濾鏡可以解決。對于邊框發光的效果,倒是一種很好的退化方案。
IE6,
非IE6
(2 可以導出不透明的PNG24,即和JPG的效果相同;
(3. 可以導出alpha透明PNG32。
2. photoshop
(1. 只能導出布爾透明的PNG8;
(2. 可以導出alpha透明的PNG24, 無法導出PNG32。
測 試 。應該說PNG24和PNG32是一樣, The difference between PNG24 and PNG32 ( 翻 譯 )中指出PNG32中每個像素不僅存儲了24位真彩信息還存儲了8位alpha通道。所以fw導出PNG32不用選擇透明,而ps導出 PNG24時是要勾選透明度的,這時候的PNG24應該就轉化成了PNG32了吧。
三. IE6 中透明 PNG 解決方案
1. AlphaImageLoader濾鏡
PNG在IE6最常用的解決方案是使用濾鏡。
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=”images/img.png”, sizingMethod=”scale”);
MSDN 中詳細介紹了該濾鏡。重點提一下sizingMethod屬性 吧,sizingMethod=image/scale/crop:image:默認值,增大或減小對象的尺寸邊界以適應圖片的尺寸;scale:縮放圖 片以適應對象的尺寸邊界;crop:剪切圖片以適應對象尺寸。
但使用濾鏡存在很多問題:
(1. 內存問題,有建議說使用濾鏡最好不用超過5到6個。
這個濾鏡的問題在于瀏覽器加載圖片時它會終止內容的呈現并且凍結瀏覽器。在每一個元素(不僅僅是圖片)它都會運算一次,增 加了內存開支……
(2. 鏈接失效,表單無法獲焦。
解決方法:使鏈接和表單元素擁有haslayout,通常是加上position:relavtive,經過測試 position:absolute也可以。但是當父級定義position:absolute時,這種方法會失效。不過這種方法不太穩定;另一種方法, 是將背景層和內容層分開,不作為嵌套關系,而作為同級關系。
(3. 使用濾鏡的圖片只能作為背景圖,且無法平鋪。
因此盡量少使用濾鏡.
源文檔 < http://blog.sina.com.cn/s/blog_692a9ee30100k6yr.html >
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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