全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 2054|回复: 19
打印 上一主题 下一主题

[Windows VPS] 万恶的IE6!求前端高手解决PNG透明问题。。。@夜总 球带

[复制链接]
1#
发表于 2012-7-9 23:23:44 | 只看该作者
IE6 PNG24

<head>
<!--[if lte IE 6]>
<script type="text/javascript" src="png.js" ></script>
<script type="text/javascript">
  ie6Png.fix('.name');
//此处括号内,放类,或id选择器均可,例如('.name, #id ,div ,dl')
</script>
<![endif]-->
</head>
png.js 已发
2#
 楼主| 发表于 2012-7-9 21:11:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Mr.Ra1n 于 2012-7-9 21:54 编辑

网上找了几个JS,实测都不行。。。。
这个项目是企业项目,不支持IE6估计很难收到尾款。。。
所以,虽然我本身也非常恨IE6,但是毛得办法。。。
用了以下JS,但是图片高度获取的不对。。。
  1. <script language="javascript">
  2. // 修复 IE 下 PNG 图片不能透明显示的问题
  3. function fixPNG(myImage) {
  4. var arVersion = navigator.appVersion.split("MSIE");
  5. var version = parseFloat(arVersion[1]);
  6. if ((version >= 5.5) && (version < 7) && (document.body.filters))
  7. {
  8.      var imgID = (myImage.id) ? "id='" + myImage.id + "' " : "";
  9.      var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : "";
  10.      var imgTitle = (myImage.title) ? "title='" + myImage.title   + "' " : "title='" + myImage.alt + "' ";
  11.      var imgStyle = "display:inline-block;" + myImage.style.cssText;
  12.      var strNewHTML = "<span " + imgID + imgClass + imgTitle
  13.    + " style="" + "width:" + myImage.width
  14.    + "px; height:" + myImage.height
  15.    + "px;" + imgStyle + ";"
  16.    + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
  17.    + "(src=\'" + myImage.src + "\', sizingMethod='scale');"></span>";
  18.      myImage.outerHTML = strNewHTML;
  19. } }
  20. window.onload=function(){
  21.          document.getElementById("top").style.height=screen.height/5+"px";
  22.         
  23. }//
  24. </script>
  25. 用法如下:
  26. <img src="logo.png" width="328" height="325" border="0" onload="fixPNG(this)" />
复制代码
3#
发表于 2012-7-9 21:13:59 | 只看该作者
css hack ,IE6的透明PNG都用gif替换
4#
发表于 2012-7-9 21:17:43 | 只看该作者
定义一个样式,别用js 试试
5#
 楼主| 发表于 2012-7-9 21:18:29 | 只看该作者
秋随枫舞 发表于 2012-7-9 21:17
定义一个样式,别用js 试试

HOW?
6#
 楼主| 发表于 2012-7-9 21:19:01 | 只看该作者
pcder 发表于 2012-7-9 21:13
css hack ,IE6的透明PNG都用gif替换

这样页面不会很卡么。。。
7#
 楼主| 发表于 2012-7-9 21:23:05 | 只看该作者
有种方法可以解决插入的PNG透明问题,但是高度被拉变形了。。
8#
发表于 2012-7-9 21:25:33 | 只看该作者
Mr.Ra1n 发表于 2012-7-9 21:18
HOW?

忘了……我原来见过一次
不过最简单的办法是,把png改成8位的输出色位
9#
发表于 2012-7-9 21:35:47 | 只看该作者
Mr.Ra1n 发表于 2012-7-9 21:19
这样页面不会很卡么。。。

又没有用JS,怎么会卡啊,在CSS属性前面加上_就是只有IE6认识了,比如:
正常的CSS定义背景, background: url(../bk.png);
然后再在下面添加一行 _background: url(../bk.gif); 就可以了
10#
 楼主| 发表于 2012-7-9 21:42:21 | 只看该作者
pcder 发表于 2012-7-9 21:35
又没有用JS,怎么会卡啊,在CSS属性前面加上_就是只有IE6认识了,比如:
正常的CSS定义背景, background ...

效果不好。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-11-1 14:10 , Processed in 0.182532 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表