转载 http://www.cnblogs.com/jikey/archive/2013/03/13/2957168.html

由于游戏类官网在页面背景和装饰人物的设计上追求画丽且与游戏风格想匹配,这就给前端页面制作人员带来了很多的麻烦,一个页面的制作主要时间和精力花费在兼容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浏览器使用者,但也保证在浏览器下能正常显示,只是图片的质量稍为差点罢了。

png-24在ie6中的几种透明方法的更多相关文章

  1. C#中的两种debug方法

    这篇文章主要介绍了C#中的两种debug方法介绍,本文讲解了代码用 #if DEBUG 包裹.利用宏定义两种方法,需要的朋友可以参考下   第一种:需要把调试方法改成debug代码用 #if DEBU ...

  2. AOP在 .NET中的七种实现方法

    7Approaches for AOP in .Net AOP在 .NET中的七种实现方法 Here are all the ways that I can think of to add AOPto ...

  3. SuperDiamond在JAVA项目中的三种应用方法实践总结

    SuperDiamond在JAVA项目中的三种应用方法实践总结 1.直接读取如下: @Test public static void test_simple(){ PropertiesConfigur ...

  4. js oop中的三种继承方法

    JS OOP 中的三种继承方法: 很多读者关于js opp的继承比较模糊,本文总结了oop中的三种继承方法,以助于读者进行区分. <继承使用一个子类继承另一个父类,子类可以自动拥有父类的属性和方 ...

  5. 将dll文件注入到其他进程中的一种新方法

    http://www.45it.com/windowszh/201212/33946.htm http://www.hx95.cn/Article/OS/201212/65095.html 我们知道将 ...

  6. http协议中客户端8种请求方法

    http请求中的8种请求方法 1.opions   返回服务器针对特定资源所支持的HTML请求方法   或web服务器发送*测试服务器功能(允许客户端查看服务器性能) 2.Get   向特定资源发出请 ...

  7. JS中的五种去重方法

    JS中的五种去重方法 第一种方法: 第二种方法:  第三种方法: 第四种方法: 第五种方法:优化遍历数组法 思路:获取没重复的最右一值放入新数组 * 方法的实现代码相当酷炫,* 实现思路:获取没重复的 ...

  8. IE6中png背景图片透明的最好处理方法

    在IE6浏览器下png(24位)的图片显示是不能透明的. 1.处理办法就是用DDPngMin.js <!--[if IE 6]> <script src="js/DDPng ...

  9. java 中的几种 "通用方法“

    前言 Java中,除了基本的数值类型,其他所有数据类型(包括数组)都是对象. 而Object这个类是所有类的超类,它提供的方法,自然能够使用于它的所有子类(所有非基本数值类型). 本文介绍了Objec ...

随机推荐

  1. Download file using libcurl in C/C++

    http://stackoverflow.com/questions/1636333/download-file-using-libcurl-in-c-c #include <stdio.h&g ...

  2. Reading Csv Files with Text_io in Oracle D2k Forms

    Below is the example to read and import comma delimited csv file in oracle forms with D2k_Delimited_ ...

  3. matplotlib

    前导: 安装 numpy http://sourceforge.net/projects/numpy/files/ http://sourceforge.net/projects/numpy/file ...

  4. 插入中文错误ERROR 1406 (22001): Data too long for column 'name' at row 1

    1.在导入数据前执行以下命令即可:set SESSION sql_mode=''; 通过设置sql_mode变量更改模式.linux下安装完mysql后,默认的sql-mode值是空,在这种情形下my ...

  5. oracle小测试

    1.请解释以下几个函数意思:NVL.TRUNC.DECODE.TO_DTAE.TO_CHAR.CONVERT.ROUND.TRIM.ISNULL.SUBSTR.GROUP BY.HAVING 答: N ...

  6. [SAP ABAP开发技术总结]逻辑数据库

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  7. python_way day19 HTML-day5 (form表单验证,CSRF,cookie,session,缓存)

    python-way day19 1. dJango的form表单验证 2.CSRF 跨站请求伪造 3.cookie,session 4.缓存 一,django表单验证功能 1.django验证基础: ...

  8. new的深一步

    new的深一步 new运算符 用于创建对象和条用构造函数 new修饰符 用于隐藏基类中被继承的成员 new约束 用于在泛型声明中约束可能用作类型参数的参数类型 new运算符 用于创建对象和调用构造函数 ...

  9. asp.net MVC开发过程中,使用到的方法(内置方法及使用说明)

    ® 视图的返回使用案例: [HttpGet] [SupportFilter] public ActionResult UserTopic(string type, string TopPicId, s ...

  10. 使用Maven构件Web应用

    一个典型的WAR文件会有如下目录结构: Maven的WEB项目结构: jetty-maven-plugin默认很好地支持了Maven的项目结构.在通常情况下,我们只需要直接在IDE中修改源码,IDE能 ...