IE6中PNG Alpha透明(全集)

所属分类: 网页制作 / 应用技巧 阅读数: 587
收藏 0 赞 0 分享

很多人说IE6不支持PNG透明,其实IE支持100%透明的PNG,疯狂的IE6只是不支持png的Alpha透明。
这个BUG给我们带来了很大的困扰。
但是这仍然存在很多问题,比如半透明的PNG背景图片。
Gulu77整理了4种IE6中PNG Alpha透明的方法:
测试实例:http://www.css88.com/demo/IE6_bug/IE6_bug_2/test_IE6png8/index.html
这里用IE6测试,插入的图片和背景图片没有透明。

第一种方法:AlphaImageLoader 筛选器
微软给出了一个解决方案:http://support.microsoft.com/kb/294714/zh-cn

使用简介:在每个标签样式中插入 filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’image.png’, sizingMethod=’scale’)
注意事项:
AlphaImageLoader难以实现插入图片<img src=”.png”/>透明
AlphaImageLoader方法用于背景图片上,实现background-image的效果
AlphaImageLoader IE8不支持
因为IE7支持AlphaImageLoader,避免冲突建议使用CSS hack区分开,只针对IE6使用
测试实例:http://www.css88.com/demo/IE6_bug/IE6_bug_2/test_AlphaImageLoader/index.html

第二种方法:PNG Transparency in IE
使用简介:相对来说比较简洁,使用一段包含滤镜的JavaScript 就可以模拟图片或背景 PNG alpha 透明度
注意事项:
根目录的spacer.gif透明图片作为png图片的替换,写在JavaScript中的spacer.gif路径根据需要调整
PNGTransparncyinIE方法在背景应用上只能做到background-image的效果, 背景重复坐标调用等暂时实现不了
官方原文:http://codingforums.com/archive/index.php?t-80555.html
测试实例:http://www.css88.com/demo/IE6_bug/IE6_bug_2/test_PNGTransparncyinIE/index.html

第三种方法:IE PNG Fix v1.0 / 2.0 Alpha 3
这是目前最新版本,今天重点介绍的一个方法。
使用简介:页面标签使用behavior:url(”iepngfix.htc”);来调用外部包含js、css的iepngfix.htc文件來修正PNG alpha 透明度。
测试实例1:http://www.css88.com/demo/IE6_bug/IE6_bug_2/IE6_bug_2.html
测试实例2(官方,e文):http://www.css88.com/demo/IE6_bug/IE6_bug_2/iepngfix.html
* 支持<img src=”">元素。
* 支持的背景PNG图像(不像许多其他的脚本! )
* 支持CSS1背景重复和位置(通过可选插件)
* 背景图像可以被界定内置或在外部的样式表。
* 自动处理改为钢骨混凝土/背景通过正常的JavaScript (例如鼠标悬停翻车) -没有特殊的编码需要。
* 改变支持包括CSS的’类别’的变化因素。
* 采用自动变通的<a href=”">要素巴布亚新几内亚背景因素。
* 微小的脚本(快速下载) 。
* 领有牌照的下一个自由软件许可证。
如何使用 Follow these simple steps to add this to your page:遵循这些简单的步骤,将此添加到您的网页:
1. 复制并粘贴iepngfix.htc和blank.gif到您的网站文件夹中。
2. 复制并粘贴到您的网站的CSS或HTML :
<style type="text/css">
img, div { behavior: url(iepngfix.htc) }
</style>
这的CSS选择器必须包含标签/内容要巴布亚新几内亚支持-基本上,给它一个逗号分隔的清单上的标签使用。它还必须包括正确的路径。宏达相对H TML文件的位置(不相对的CSS文件! ) 。 例如,你可能看起来像这样:
<style type="text/css">
img, div, a, input { behavior: url(/css/resources/iepngfix.htc) }
</style>
3. 如果您的网站使用的子文件夹,打开。宏达文件在文本编辑器如Windows记事本,并改变blankImg变数,包括正确道路blank.gif像这样:
IEPNGFix.blankImg = '/images/blank.gif';
同样的路径是相对的HTML文件。否则,你将看到一个“破碎的形象”的图形!
4. 如果你想支持CSS1背景重复和背景位置,请务必包括附加。 js文件在您<head> :
<script type="text/javascript" src="iepngfix_tilebg.js"></script>
否则,背景图片可以工作,但不会重复或立场。
5. 可以舒舒服服地坐下欣赏! 也许考虑捐助,以支持该脚本的发展如果你喜欢您所看到的,因为我花了数百小时的开发,测试和支持它: ) 。 另外,我一定会感谢一个入链接您的网站到地雷!
官方原文:http://www.twinhelix.com/css/iepngfix/
如果你有兴趣了解更多信息或另一种方法激活的脚本保持审定的CSS相容性,看到源代码演示文件。
———————————————————————–
如何解决共同问题
1.我已经贴在CSS中,但我pngs并不透明!
请务必记住,路径个文件是相对于HTML文件,而不是的CSS文件(如的CSS背景图像) 。 如果您想要测试的路径,插入: alert('This works!');进入。宏达文件。
2.它的工程离线而不是在线。
第一次尝试解压这个预设的示范和上传到Web服务器原样。 如果它不工作,您可能有一个MIME类型的问题。您必须确保您的服务器发送正确的MIME类型“文本/的X组成部分”的。宏达文件。 尝试之一,这两个容易修复程序:
3.上传的。 “ htaccess ”文件,该脚本的下载压缩到Web服务器上,这将使阿帕奇发出正确的MIME类型。
4.而不是所谓的“ IEPNGFIX.HTC ”从你的CSS ,上传IEPNGFIX.PHP的同一文件夹中,并呼吁不是,这也发出了正确的MIME类型。
5.我pngs是透明的,但有一个有趣的边界或红色的“ X ”图标。
检查blankImg变量设置正确的。宏达文件,再次相对应的HTML文件,载PNGs 。
图像扭曲,或此脚本休息,我的网页布局。
当适用于图像没有设置方面,该脚本将尝试与“猜测”正确的图像尺寸和适用的。如果它获得做错了什么,给您一个明确的图像width 。
链接或表单元素一个png’d元素是不能点击。
测试实例1:http://www.css88.com/demo/IE6_bug/IE6_bug_2/IE6_bug_2.html
测试实例2(官方,e文):http://www.css88.com/demo/IE6_bug/IE6_bug_2/iepngfix.html

第四种方法:IE PNG Fix v1.0 / 2.0 Alpha 3
使用简介:ie7/ie8-js是一个解决IE与W3C标准的冲突的JS库,使微软的IE的行为像一个Web标准兼容的浏览器,支持更多的W3C标准。
官方原文:http://code.google.com/p/ie7-js/
测试实例:http://www.css88.com/demo/IE6_bug/IE6_bug_2/test_ie7-js/index.html

更多精彩内容其他人还在看

sitemesh教程-页面装饰技术原理及应用

Sitemesh是一种页面装饰技术:它通过过滤器(filter)来拦截页面访问,据被访问页面的URL找到合适的装饰模板等等,感兴趣的朋友可以了解下哦
收藏 0 赞 0 分享

浏览器可以注册的事件小结

我们在网页制作中经常会用到浏览器事件,这里简单的整理下方便需要的朋友
收藏 0 赞 0 分享

从image/x-png谈ContentType(s)

今天在做一个文件上传的功能的时候,发现我总是上传不了png的图片。经过调试发现,应该是在ContentType的地方判断失误了。后来百度了一下发现一个有意思的现象,我发现png的图片的ContentType并不是我在注册表中看到的image/png,而是image/x-png
收藏 0 赞 0 分享

窗口中的各种距离/滚动距离的精确计算汇总

平时在项目开发中,没少跟边距,位置,坐标什么的打交道,悲剧的是,如果你对这些东西没有非常清晰的概念,编码的时候会非常痛苦,到处找资料寻求距离的精确计算,接下来本文提供一个示意他,希望对你有帮助
收藏 0 赞 0 分享

web的各种前端打印方法之CSS控制网页打印样式

使用CSS控制打印样式,握刚刚使用时一塌糊涂,根本不知道CSS中的midia的作用是什么,问到别人说导入这个样式,还傻乎乎的不知所措,接下来介绍CSS控制网页打印样式是如何实现的
收藏 0 赞 0 分享

响应式WEB设计学习(1)—判断屏幕尺寸及百分比的使用

现在移动设备越来越普及,用户使用智能手机、pad上网页越来越普遍,但是传统的fix型的页面在移动终端上无法很好的显示。因此,Ethan Marcotte提出一种响应式web设计的概念,响应式web设计的英文为Responsive Web Design,简写为RWD,感兴趣的朋友可
收藏 0 赞 0 分享

响应式WEB设计学习(2)—视频能够做成响应式吗

除了图片以外,还有一种常见的多媒体形式是视频。有时在web设计中,根据需要会在页面中加入视频,视频大小的自适应单靠CSS本身似乎是做不到的,感兴趣的朋友可以详细了解下
收藏 0 赞 0 分享

响应式WEB设计学习(3)—如何改善移动设备网页的性能

究竟是网页中的何种元素拉低了网页在移动设备中加载的速度呢?这些元素应该做何处理以提升页面在移动设备中的整体性能?是否存在一种设计模式可以同时满足移动端及桌面端的页面设计呢?带着这些疑问开始本文之旅吧
收藏 0 赞 0 分享

网页设计必备手册 216网页安全色大全

网页安全色是指在不同硬件环境、不同操作系统和不同浏览器中都能够正常显示的颜色集合(调色板或者色谱),也就是说这些颜色在任何终端用户的显示设备上都是相同的效果
收藏 0 赞 0 分享

网页设计中设计出有层次感的界面的经验介绍

很多网友常说自己的网站为什么色彩上总是有问题,总是看起来没什么精神,没办法吸引人注意。观察了一些网友们设计的网站发现他们在用色上不够大胆,同时也缺乏对色彩层次的理解。
收藏 0 赞 0 分享
查看更多