趁着小志的《css那些事儿》正火,引用一下标题,哈哈,傍大款。
首先请大家请给PNG8一个机会:
全透明的png8可以在任一浏览器正常显示(就像gif一样)。
推荐两篇文章给大家:http://www.ued163.com/?p=640,http://www.ued163.com/?p=645
半透明的png8在除了ie6及其以下的浏览器下错误的显示成全透明,其它浏览器都能正常显示半透明。这个bug并不需要特殊对待,因为在不支持半透明的浏览器下只是显示为全透明,对用户体验影响不大,它反而是透明gif的加强版。
第二个bug没有什么好的方法解决,只能通过影响性能的方法AlphaImageLoader与需要加特殊标签(VML)。
到底是png24 Alpha透明还是png32 Alpha透明?
其实这个问题根本就不用回答,这个可能跟每个人使用切图软件有关。
1.Photoshop
- Photoshop只能导出布尔透明(全透明或者全不透明)的PNG8。
- Photoshop能导出alpha透明(全透明,全不透明,半透明)的PNG24。
- Photoshop不能导出PNG32。
2.Fireworks
- Fireworks既能导出布尔透明的PNG8,也能导出alpha透明()的PNG8,半透明的png8在除了ie6及其以下的浏览器下错误的显示成全透明.
- Fireworks能导出PNG24,但是和jpeg差不多,不能透明。
- Fireworks能导出alpha透明的PNG32。
所以png24 Alpha透明或者png32 Alpha透明只是使用切图软件差别,在浏览器中Alpha透明的。表现是一致的。
ie6下的png Alpha透明
目前ie6下的png24 Alpha透明还是png32 Alpha透明只能使用影响性能的AlphaImageLoader方法,即使很多人说的使用js其实也是使用了这个方法。
方法在css中使用:
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=布尔值(Boolean),src=’图片路径’,sizingMethod=’设置或检索滤镜作用的对象的图片在对象容器边界内的显示方式’);
参数说明: 继续阅读:png那些事儿»


最新评论
代码没缩进啊,看得挺累
Post:2012-02-02 18:36:19直接用 style.innerHTML = cssText ^_^
Post:2012-02-02 10:05:33@愚人码头,蛮喜欢看你写的文章的!会经常来
Post:2012-01-31 17:27:46习惯用jquery库和kissy库了,都很 »
Post:2012-01-31 16:51:11想跟您换个连接,可以吗?等待回复 »
Post:2012-01-31 12:17:24局部样式变化 通过class名改变是不 »
Post:2012-01-31 09:54:42学习了. 从来没用过 "_" 还不知 »
Post:2012-01-30 14:32:21正在学习合成的童鞋路过学习
Post:2012-01-30 13:47:37