IE6下在CSS文件中 background 的 url 调用的png图片无法透明,要怎样才可以透明呢?

注:不是在html中用img调用的图片,在线等。网上好多方法都没用!

第1个回答  2011-10-27
1、需要iepngfix.htc,blank.gif,iepngfix_tilebg.js这三个文件,可以通过http://www.cdys.cn/iepng.rar获得。
2、获得以上3个文件后分别上传至网站,你可以把他们分别传到相应的css,js和images目录中,当然,也可以建立新的文件夹,比如名为:iepng的文件夹,把他们传到其中。
3、添加第一句代码,这是在html文件中添加的格式,不要忘记修改htc文件的路径,如果怕出错,直接使用相对根目录的路径,比如/iepng/iepngfix.htc,这样一般不会出错,当然你也可以把behavior: url(iepngfix.htc)这句添加到你的reset.css文件中去。
<style type="text/css">
img, div { behavior: url(iepngfix.htc); }
</style>
4、使用记事本,或类似的工具打开iepngfix.htc文件,将其中blankImg的文件路径替换成你自己的,比如/iepng/blank.gif,根据自己的实际情况。
IEPNGFix.blankImg = '/images/blank.gif';
5、将下面这句js调用代码加到需要页面的《head》中去(此步不是必须的,如果你的head部分的include统一调用的,推荐一定加上这句)
<script type="text/javascript" src="iepngfix_tilebg.js"></script>
经过以上步骤,基本可以实现IE下png的透明效果了
第2个回答  2011-10-21
<script>
function correctPNG() // correctly handle PNG transparency in Win IE 5.5 & 6.
{
var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])
if ((version <= 6.0) && (document.body.filters))
{
for(var j=0; j<document.images.length; j++)
{
var img = document.images[j]
var imgName = img.src.toUpperCase()
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
{
var imgID = (img.id) ? "id='" + img.id + "' " : ""
var imgClass = (img.className) ? "class='" + img.className + "' " : ""
var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
var imgStyle = "display:inline-block;" + img.style.cssText
if (img.align == "left") imgStyle = "float:left;" + imgStyle
if (img.align == "right") imgStyle = "float:right;" + imgStyle
if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" + "margin:0;"
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=\'" + img.src + "\');\"></span>"
img.outerHTML = strNewHTML
j = j-1
}
}
}
}
function alphaBackgrounds(){
var rslt = navigator.appVersion.match(/MSIE (d+.d+)/, '');
var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);
for (i=0; i<document.all.length; i++){
var bg = document.all[i].currentStyle.backgroundImage;
if (bg){
if (bg.match(/.png/i) != null){
var mypng = bg.substring(5,bg.length-2);
//alert(mypng);
document.all[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+mypng+"', sizingMethod='crop')";
document.all[i].style.backgroundImage = "url('')";
//alert(document.all[i].style.filter);
}
}
}
}

if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) {
window.attachEvent("onload", correctPNG);
window.attachEvent("onload", alphaBackgrounds);
}
</script>
加在head之间就可以了
第3个回答  2011-10-13
png-8在IE6里是可以透明的,注意要选择Alpha透明度,不然边缘锯齿会跟gif一样。
第4个回答  2011-10-13
ps 转化成png-8格式 具体我没试过 据说ie6支持本回答被提问者采纳

...url 调用的png图片无法透明,要怎样才可以透明呢?
1、需要iepngfix.htc,blank.gif,iepngfix_tilebg.js这三个文件,可以通过http:\/\/www.cdys.cn\/iepng.rar获得。2、获得以上3个文件后分别上传至网站,你可以把他们分别传到相应的css,js和images目录中,当然,也可以建立新的文件夹,比如名为:iepng的文件夹,把他们传到其中。3、添加第一句代码,这...

ie6不支持png透明简单的解决办法
这里要注意的是必须把iepngfix_tilebg.js、iepngfix.htc、blank.gif这三个文件拷贝到你网站对应的目录下,我这里对应的是img目录,然后你就可以在你网页中自由插入png文件了,不再会出现ie6不支持png透明的问题了。

IE6下png图片不透明,急求解决方法。
解决方法:只要在css里加一条a{cursor:pointer}就行了。

解决IE6下 PNG 图片不透明的最佳办法是什么?
盒子的CSS \/*解决方法直接拷贝下面四行代码,其中的图片地址得改一下*\/ background-image: url(button2.png)!important;\/* FF IE7 *\/ background-repeat: no-repeat;_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='button2.png'); \/* IE6 *\/ _ background-image: none; \/...

如何让IE6支持PNG的透明背景
对于img的png图片可以使用IE特有的滤镜或者expression实现透明,而对于css background的背景图片就需要使用DD_belatedPNG才能实现。详细操作方法:下载需要的js文件:压缩版DownLoad 非压缩版DownLoad 在网页中的之间添加以下引用代码 <!–[if IE 6]> DD_belatedPNG.fix('CSS选择器, 应用类型'); <![en...

IE6下实现PNG背景图片透明。CSS样式。
PNG图片支持透明~很不错,可是在IE6下却不能正确显示透明部分,使用这个css可以解决这个问题(还有其他方法,不过百度空间只能用css~_~)filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="png图片地址",sizingMethod='crop');把上面的加在css中。例如 in_send form td.f14 input { filter...

IE6下实现PNG背景图片透明。CSS样式。
调用DD_belatedPNG.js,然后加一段代码 <!--这个是Png透明插件--> <!--[if IE 6]> DD_belatedPNG.fix('.png'); <![endif]--> 然后给你所需要的容器或者图片加一个class="png"不知道你能听懂吗。。

png在IE6下透明的方法
六.DD_belatedPNG,解决IE6不支持PNG绝佳方案 整个互联网上解决这个IE6的透明PNG的方案也是多不胜数,从使用IE特有的滤镜或是e xpression,再到javascript+透明GIF替代.但是这些方法都有一个缺点,就是不支持CSS中backgrond-position与 background-repeat. 而我今天介绍DD_belatedPNG,只需要一个理由,就是它...

高分求教:IE6下处理后的PNG图片透明度与FF下不一致怎么解决?
PNG透明图片在Mozilla Firefox下显示良好。Internet Explorer 6 在IE6中这张PNG图片的背景却是一片灰白,真的很难看,除非你的网页背景色就是一片灰白:)解决方法 首先,为你的图片外套一个DIV层,像这样: 然后,在CSS文件里面写入:body {background-color:#000} div.flower {background:url(flower...

ie6png透明后链接失效怎么办啊!急
但目前只有Firefox、Opera、IE7这三款浏览器对PNG图片支持得比较好,我们常用的IE6.0却不支持透明的PNG图片,因此要让PNG透明背景图片在IE6.0 中正确显示,只能在CSS里用滤镜来解决了。具体CSS如下: .but{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images\/buts_03.png); backgr...

相似回答
大家正在搜