JS技巧:在IE浏览器中正确显示PNG透明图片

学习提速专享!AI工具全家桶免费用 限时购周边加赠Coding Plan Lite,解锁20+主流AI工具,写代码、查资料快人一步! 阅读详情
 

PNG图片有很好的品质。阴影效果也不会有杂边,很流畅。如果插入网页的话可以给网站内容增色不少!更重要的是在不增加图片容量大小的情况下提高了页面的图片的质量。对于有复杂背景,如:在有颜色过度背景上插入不规则边框的图片带来极大很便利!

 

但目前IE中对于插入的透明背景的.png的图片是不能正常显示的。IE会自动给".png"格式的图片加个灰色背景。

 

解决这个的方法是增加javascript。具体方法如下:

 

把下面的代码放在head区就可以解决问题了。

 

以下是引用片段:

 

 

<script language="javascript"> 
function correctPNG()  
{ 
for(var i=0; i<document.images.length; i++) 
{ 
  var img = document.images[i] 
  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 + ";" 
  + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" 
   + "(src=/'" + img.src + "/', sizingMethod='scale');/"></span>"  
   img.outerHTML = strNewHTML 
   i = i-1 
  } 
} 
} 
window.attachEvent("onload", correctPNG); 
 </script>

 

也可以把这段代码单独加在一张图片上:

 

以下是引用片段:

 

 

<span 
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='male.png',sizingMethod='scale');"></span>
解决IE6PNG透明问题的JavaScript 本文还有配套的精品资源,点击获取 简介:在旧版IE6浏览器中,PNG图像格式的Alpha通道透明度无法被正确显示,导致透明效果出现问题。为了解决这一问题,开发者们提出多种JavaScript库和技术方案,包括Alpha Image Loader滤镜、DD_belatedPNG库、CSS精灵技术、JavaScript透明修复库等。这些技术使IE6能够模拟或修复PNG图像的透明... 阅读详情

相关推荐

JavaScript接收并显示字节流中的图片

写了个网页版贪吃蛇,需要在前端接受后端传过来的字节流然后显示,谷歌上搜了一下,最后的代码如下,并且简单做下讲解。 socket.onmessage = function(msg) { var bytes = new Uint8Array(msg.data); var blob = new Blob([bytes], { type: &amp;quot;...

面向学姐编程 1万+

网页中的png图片无法显示

    弄了2天的一个问题,晕啊~~~~~~~~~~~~~~~终于找到原因了。有一个网页是通过URL地址显示在框架中的,在本地打开的时候是正常的,不过从IE7打开会有一个安全提示,点允许执行页面中的png图片才能显示出来。系统的需求是将这个上传的网页放到URL地址连接中,然后从浏览器直接访问它,但是这样直接使用Response.Redirect("网页服务器物理地址+主页面"),使用这种方式访问无

MVC2008MVC的专栏 9194

html用不了png图片,javascript-空白PNG /污染的画布可能无法导出(不使用图像)

我正在尝试将相当简单的html导出到canvas,然后导出到png.为此,我正在使用rasterizeHTML(http://cburgmer.github.io/rasterizeHTML.js/).我面临的问题是,我收到一条警告,例如正在加载外部图像/资源,但我没有.这是我尝试过的:HTML:使用Javascriptvar canvas=document.getElementById("ras...

weixin_39856269的博客 346

html语言显示jpg图片,javascript怎么显示图片

JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。JavaScript可以直接使用document.write方法显示图片:document.write("");示例:JavaScript显示图片的方法document.write(""...

weixin_31445091的博客 2690

png透明问题解决方法(png图片ie6不兼容问题)

<br />在web前端开发中,经常会遇到需要用背景或图片透明的问题。<br /><br /> 首先,目前我们所面临的情况是:<br /> 1.在ie7+,firefox,safari,opera这些常用浏览器中,直接使用透明png是没有问题的,但在ie6下却不能透明。<br /><br /> 2.ie6目前的时常份额仍然很大,我们必须考虑兼容ie6的问题。<br /><br /> png背景透明解决办法<br /> .pngbackground{<br /> background:url(yo

nb_pdd的专栏 9526

html展示png图片,在IE流览器中正确显示PNG透明图片

IE流览器中正确显示PNG透明图片互联网 发布时间:2008-10-17 19:28:21 作者:佚名 我要评论png图片有很好的品质。阴影效果也不会有杂边,很流畅。如果插入网页的话可以给网站内容增色不少!更重要的是在不增加图片容量大小的情况下提高了页面的图片的质量。对于有复杂背景,如:在有颜色过度背景上插入不规则边框的图片带来极大很便利!但目前IE中对于插入png图片有很好的品质...

weixin_36281932的博客 849

IE浏览器正确显示PNG透明图片

PNG图片有很好的品质。阴影效果也不会有杂边,很流畅。如果插入网页的话可以给网站内容增色不少!更重要的是在不增加图片容量大小的情况下提高了页面的图片的质量。对于有复杂背景,如:在有颜色过度背景上插入不规则边框的图片带来极大很便利! 但目前IE中对于插入的透明背景的.png图片是不能正常显示的。IE会自动给".png"格式的图片加个灰色背景。 解决这个的方法是增加javascript。具体

濯焰的那点事 720

IE浏览器PNG图片背景透明

网页里的PNG图片.div1 img{ position:absolute; top:-3px; left:-2px;behavior:url("iepngfix.htc");width:103px; height:125px;}背景为PNG图片.div2{ background:url(/images/button05.png) no-repeat; width:66px; height

小雨点的专栏 1418

html引入png显示透明北京,完美解决透明png图片透明png背景,兼容所有浏览器...

*将以下代码保存为png.js*/function correctPNG(){for(var i=0; ii++){var img = document.images[i]var imgName = img.src.toUpperCase()if (imgName.substring(imgName.length-3, imgName.length) =="PNG"){var imgID = (...

weixin_33883104的博客 4336

PNG图片透明通道在IE显示的方法总结

<!--google_ad_client = "pub-4490194096475053";/* 内容页,300x250,第一屏 */google_ad_slot = "3685991503";google_ad_width = 300;google_ad_height = 250;// -->目前大部分浏览器PNG的支持并不完善,IE虽然可以显示PNG

管子(zero)的杂乱空间 1773

IE使用png透明图片的方法

应用PNG图片透明或半透明的特性能做出非常漂亮的网页来。Firefox和Opera对PNG的支持非常的好,都是IE却无视PNG图片这一特性的“存在”,虽然IE7已经支持都是IE6还是不行。查了一些资料,基本解决了这一问题,准备应用到PJskin上。虽然有让IE6支持PNG透明背景的JS程序,都是不是很方便,还是用CSS来实现的好。使用到的就是:IE5.5+的AlphaImageLoader滤镜

鹰击长空 3557

IE6下实现PNG图片正确显示

 下面的Filter是将原本的PNG图片生成一个新的图片,这个图片可以在IE显示 ===========================================================FF和IE7已经直接支持透明png图了,下面这个主要是解决IE6下透明PNG图片有灰底的============================================

yanyongshan的专栏 1624

IE流览器中正确显示PNG透明图片

png图片有很好的品质。阴影效果也不会有杂边,很流畅。如果插入网页的话可以给网站内容增色不少!更重要的是在不增加图片容量大小的情况下提高了页面的图片的质量。对于有复杂背景,如:在有颜色过度背景上插入不规则边框的图片带来极大很便利! 但目前IE中对于插入的透明背景的.png图片是不能正常显示的。IE会自动给".png"格式的图片加个灰色背景。 解决这个的方法是增加javascript,利...

diseyu1396的博客 175

IE6下显示透明PNG图片

<br />      PNG图片的质量很好,用于网页制作可为整体效果增色不少。但是,在IE6中透明png图片不能透明显示,如要透明显示可使用如下两种方法。我已试过,真的蛮好用的!<br /> <br />       第一种方法:把下面的javascript代码加入网页的<head>与</head>之间,这样网页中所有透明背景的png图片都可以正常显示:<br />  <br /><script language="javascript"> <br />       function correct

wangjubi的舞台 582

IE6下PNG图片背景透明的处理方法

<br />E6下PNG背景透明显示问题 <br />PNG格式比起GIF来表现色彩更丰富,特别是表现渐变以及背景透明的渐变要比GIF格式出色很多,目前,最新的浏览器基本上都支持PNG格式。但是IE6不支持PNG背景透明,会显示一个灰色的框。<br />IE6下PNG背景透明的解决办法<br />一.gif替换png<br />.pngImg { background:url(image.png); _background:url(image.gif);}<br />注意上文的_号,目前IE7,8以及Fi

wjbaiverson的专栏 5497
上一篇: Firefox浏览器兼容Javascript脚本的方法
下一篇: 数据库开发程序员在开发过程中的注意事项
webclass
博客等级 码龄19年 14粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值