png-24在ie6中的几种透明方法

简介: 由于游戏类官网在页面背景和装饰人物的设计上追求画丽且与游戏风格想匹配,这就给前端页面制作人员带来了很多的麻烦,一个页面的制作主要时间和精力花费在兼容ie6上,而ie6因为不兼容png-24的图片一直被开发人员所鄙视。

由于游戏类官网在页面背景和装饰人物的设计上追求画丽且与游戏风格想匹配,这就给前端页面制作人员带来了很多的麻烦,一个页面的制作主要时间和精力花费在兼容ie6上,而ie6因为不兼容png-24的图片一直被开发人员所鄙视。

由于市场决定了页面的存在的价值,所以ie6还是必须要兼容。

下面介绍几种常用的解决办法:

dd_belatedpng.js

引入js文件

复制代码
<!-- [if IE 6]>
<script type="text/javascript" src="js/dd_belatedpng.js"></script>
<script>
    DD_belatedPNG.fix('.pngfix');
</script>
<![endif]
-->
复制代码

然后对需要进行ie6下透明的元素进行class标注。

特点是在很大程度上能解决png-24的透明问题,但是也有几个问题比较明显。

1. 需要引入js文件。

2. 他会动态在png-24图像上包裹一层css为position:relative;的元素,使原有的position:absolute;的元素消失不见或出现其它意想不到的bug。

解决办法:在png-24的图像上再添加一层position:relative;的dom元素,或者不使用绝对定位或使用其它办法。

ie滤镜法

js办法失效后,可以用这种办法使图片透明。

background:url(/images/game_box.png) 0 0 no-repeat;_background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/game_box.png',sizingMethod='crop'); 

  当然这种办法的缺点:

1. 滤镜的性能问题一直是ie浏览器的一个瓶颈。
2. background-position 无法实现。

图片替换法

在不要求图片背景滚动的情况下,可以在高级浏览器里边使用png-24的图片,然后用截图工具抓取需要透明的区域,然后直接使用截图后的图片。

这种方法的优点是没有兼容性问题,而且在保证图片大小的情况下能正常显示,缺点就是操作比较复杂,而且截图也会使图片的颜色信息造成部分遗失。

浏览器区分法

还有一种办法是用js判断是ie6浏览后,添加不同的图片。根据浏览器的不同来使用不同的图片。

这个办法使用于,用户市场比较成熟的产品或界面,不考虑低端ie6浏览器使用者,但也保证在浏览器下能正常显示,只是图片的质量稍为差点罢了。





本文转自豪情博客园博客,原文链接:http://www.cnblogs.com/jikey/archive/2013/03/13/2957168.html,如需转载请自行联系原作者

目录
相关文章
|
4月前
|
计算机视觉 C++
png,jpg图片透明度化demo
png,jpg图片透明度化demo
38 0
|
10月前
|
存储
【GIF图修改背景颜色(改为透明)】
【GIF图修改背景颜色(改为透明)】
116 0
【GIF图修改背景颜色(改为透明)】
|
存储
Png图片的透明部分穿透测试
原文:Png图片的透明部分穿透测试        private void Window_MouseMove(object sender, MouseEventArgs e){ NavBtnList.
1004 0
|
Web App开发 前端开发
Canvas合成自定义Gif图
上次介绍了Canvas自定义图片大小及蒙版与生成gif图,没有详细的说明如何生成gif图,生成gif图的过程也可以进行一些优化。 我们无需借助第三方库,直接使用canvas原生的api就可以完成很多的功能。
1156 0
|
Web App开发 JavaScript 前端开发