大家都知道IE6对于CSS设计者来说,简直就是一坨屎,抱歉用这个词,但是我还真找不到其他更合适的词来形容它,当然仅限于CSS解析方面。
IE6有个大Bug就是不支持PNG图片的透明色,这就大大限制了页面的设计。目前网上有很多解决IE6下PNG透明色的方案,从使用IE特有的滤镜或是expression,再到javascript+透明GIF替代.但是这些方法都有一个缺点,就是不支持CSS中backgrond-image.
下面给大家介绍两个支持bacbackgrond-image的js插件。
Unit PNG Fix
原理
Unit PNG Fix工作原理是利用一个透明的gif图片来解决。
使用方法
首先加入js文件
<!--[if lt IE 7]>
<script type="text/javascript" src="unitpngfix.js"></script>
< ![endif]-->
把clear.gif文件拷贝到你的目录中,并在unitpngfix.js指定clear.gif的地址。
缺点
对于背景图片支持的不是很好,而且要添加另外的gif图片。
下载
DD_belatedPNG
原理
DD_belatedPNG 工作原理是利用VML技术来实现透明色。
使用方法
首先加入js文件
<!--[if lt IE 7]>
<script type="text/javascript" src="DD_belatedPNG.js"></script>
<script type="text/javascript">
DD_belatedPNG.fix('#id, .classname');
</script>
< ![endif]-->
引入DD_belatedPNG.js,然后给输入的css class 应用解决方案。
缺点
需要一个一个的添加css类,比较麻烦,当然你可以输入DD_belatedPNG.fix('img,a,div,span, li') 这种大的css标签。
下载
总结
以上两个js插件,我更喜欢后者,它的稳定性更好,功能更强大,我一直用项目开发中使用后者。
更多信息,请浏览我的博客。
分享到:
相关推荐
pngFix1.2的工作原理是通过JavaScript动态修改CSS样式和HTML结构,使IE6能够模拟实现PNG图像的透明效果。它通常会在页面加载完成后自动运行,查找并处理所有的PNG图片。不过,需要注意的是,这个过程可能会与其他...
2. 然后,为了应用此脚本,你需要为那些需要透明效果的PNG图像添加特定的CSS类,例如`pngFix`。例如: ```html <img src="image.png" class="pngFix"> ``` 3. 在某些情况下,可能还需要为需要透明效果的PNG图像元素...
为了解决这个问题,开发人员创造了一种技术解决方案,即使用“iepngfix.htc”文件。这个.zip压缩包文件包含了实现IE6下PNG背景透明的方法,基于的就是iepngfix.htc这一技术。 首先,我们需要理解PNG图像格式。PNG...
3. **标记需要修复的图片**:为了让iepngfix库知道哪些图片需要处理,你可以给这些图片添加特定的CSS类,如`pngfix`。 ```html <img src="image.png" class="pngfix" alt="Example PNG Image"> ``` 4. **注意事项*...
"IEPNGFix"的工作原理是利用CSS滤镜(filter)属性,尤其是AlphaImageLoader滤镜,它可以调整PNG图片的透明度。脚本会遍历页面上的所有PNG图像,并应用必要的滤镜样式,从而实现透明效果。同时,"支持PNG图片悬停...
调用方法: <!--[if lt IE 7]> // less than ie 7 <script type="text/javascript" src="image/ie_... // 第二个参数为含有png的标签id(css) ie_png.fix('.png, .logo span'); // 有png的都加上去 <![endif]-->
这里的`.pngFix`是一个CSS类,用于标识需要透明效果的PNG图像所在的元素。插件会遍历所有带有此类的元素,并应用透明性修复。 下载的压缩包文件名为"pngFix",很可能包含以下内容: 1. `jquery.pngFix.js`:主插件...
1. 把 iepngfix.htc 和 blank.gif 复制到网站相应的目录下(目录由自己决定) 2. 然后要在页面的头部信息中调用 iepngfix.htc 文件,像这样: <style type="text/css"> img, div{behavior:url(iepngfix.htc);} ...
2. 应用iepngfix:接下来,你需要在需要透明效果的PNG图片的CSS样式中添加特定的类名,例如`iepngfix`,并设置`behavior`属性引用iepngfix库。 ```css .iepngfix { behavior: url(path/to/iepngfix.htc); } ``` 3...
通过将iepngfix.htc链接到CSS样式表,我们可以让IE6正确地显示具有透明度和阴影效果的PNG图像。 首先,我们需要在服务器上部署iepngfix.htc文件,因为它是通过HTTP头部Content-Type: text/x-component 发送的。然后...
1. 将`iepngfix_v2`文件上传到你的网站服务器,通常放在CSS样式表所在的目录下。 2. 在HTML代码中,对需要支持透明PNG的元素使用如下的CSS规则: ```css .pngfix { behavior: url(/path/to/iepngfix.htc); } ``...
4. **引入JS文件**:如果页面使用了CSS背景图片,考虑引入`iepngfix_tilebg.js`。 #### 结论 虽然IE6现在已经逐渐退出历史舞台,但在处理旧项目或需要向下兼容的情况下,了解并掌握这种解决PNG透明问题的方法仍然...
--[if lt IE 7]><style type="text/css">img{behavior:url('iepngfix.htc');}</style><![endif]--> Either ensure the trans.gif file is in the same directory as the HTC file, or edit line fourteen as ...
这个文件可能包含了必要的HTML结构、CSS样式和JavaScript代码,以展示pngfix工具的工作原理。"复件 demo.htm"是该文件的副本,可能是为了备份或测试不同版本。"sun.png"则是一个可能包含透明通道的PNG图像,用于在...
2. **PNGFix方法**:由Dean Edwards开发的PNGFix.js是一个JavaScript库,它通过JavaScript动态修改页面元素的CSS,使IE6能够处理PNG的透明效果。只需在页面中引入这个脚本,并将需要透明的PNG图像链接到脚本即可。 ...
除了CSS滤镜,还可以使用JavaScript库如DD_belatedPNG或PNGFix等,它们专门用于解决IE6的PNG透明问题。这些库通过JavaScript动态添加滤镜,同时兼容PNG-8和PNG-24格式。 例如,DD_belatedPNG库的使用方法: 1. ...
总之,要解决PNG图片在IE6和Firefox上的透明兼容问题,开发者需要了解PNG格式的透明特性,掌握iepngfix.htc的行为文件使用方法,以及如何在CSS中应用这些技巧,以实现跨浏览器的兼容性。这是一个典型的前端开发中的...
这通常涉及到JavaScript库的使用,如iepngfix,以及CSS条件注释的应用,以提供向后兼容的解决方案。虽然现代浏览器已经不再有这个问题,但了解这些历史遗留的兼容性问题可以帮助我们更好地理解和处理类似的技术挑战...
<a href="http://example.com" class="link"><img src="image.png" class="pngFix"> ``` 这样,即使图片有透明背景,链接也能正常响应用户的点击操作。 总结来说,要解决IE6.0下的PNG背景透明和链接点击问题,...