PNG兼容IE6解决方法

虽然说现在早就不用ie6浏览器了,可以还是有一小部分还在使用 ,刚好公司也有要求~~~

<p>E6不兼容png图片,确实让网页的图片质量大大下降,为了兼容万恶的IE6,总结了下面几种方法:        1,通过CSS滤镜使背景图的PNG对IE6进行兼容。        2,给img定义样式,页面上所有透明png即自动透明了。        3,通过JS,插入一段代码,实现img标签png兼容IE6的问题。        4,可以把png图片,转换为gif图片。(最简单常用的方法)
</p>
<br/>

第一种方法:<p>    1、通过CSS滤镜使背景图的PNG对IE6进行兼容    定义一个样式,给某个div应用这个样式后,div的透明png背景图片自动透明了。</p>

    <style>        body{background: lightblue;}        .png{            width: 550px;            height: 500px;            background-image: url(pic.png)!important;/* FF IE7 */            background-repeat: no-repeat;            _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=‘pic.png‘);  /*IE6*/            _ background-image: none; /* IE6  */            overflow: hidden;        }    </style>

    <div class="png">        <div>通过CSS滤镜使背景图的PNG对IE6进行兼容</div>    </div>
第二种方法
<p>给img定义样式,页面上所有透明png即自动透明了。注意:这方法只对直接插入的图片有效,对背景图无效。    要准备一个透明的小图片transparent.gif,大小不限,并将gif的图片放在跟png图片一个文件夹里。请勿大量    使用,否则会导致页面打开很慢!!!不过这种方法设置图片的不能控制其大小。</p><br/>    <style>        body{background: lightblue;}        .imgpng img {            azimuth: expression(      this.pngSet?this.pngSet=true:(this.nodeName == "IMG" && this.src.toLowerCase().indexOf(‘.png‘)>-1?(this.runtimeStyle.backgroundImage = "none",      this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=‘" + this.src + "‘, sizingMethod=‘image‘)",      this.src = "transparent.gif"):(this.origBg = this.origBg? this.origBg :this.currentStyle.backgroundImage.toString().replace(‘url("‘,‘‘).replace(‘")‘,‘‘),      this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=‘" + this.origBg + "‘, sizingMethod=‘crop‘)",      this.runtimeStyle.backgroundImage = "none")),this.pngSet=true); }    </style>

    <div class="imgpng">        <img src="pic.png" />

</div> <br/>
第三种方法:
<p>通过JS,插入一段代码,实现img标签png兼容IE6的问题</p><br/>    <script language="JavaScript">        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 >= 5.5) && (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 + ";"                                + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"                                + "(src=\‘" + img.src + "\‘, sizingMethod=‘scale‘);\"></span>"                        img.outerHTML = strNewHTML                        j = j-1                    }                }            }        }        window.attachEvent("onload", correctPNG);    </script>    <style>        body{background: lightblue;}        div img{bottom: 3px solid yellow;}    </style>

    <div class="imgpng">        <img src="pic.png"/>    </div>
时间: 2024-10-11 23:51:59

PNG兼容IE6解决方法的相关文章

PNG24图片兼容IE6解决办法

很多人都遇到一个问题:那就是PNG不能正常显示,比如: 网上试过的很多办法都很难实现,要嘛就是效果不好,那现在最好的办法就是直接调用JS插件,解决! 点击下载 现在说一下怎么用这个文件吧! 首先看下代码: <!doctype html> <html> <head> <meta charset="UTF-8"> <title>PNG24兼容IE6</title> <style type='text/css'&g

Hyper-V和VMware Workstation不兼容的解决方法

win+x 以管理员帐号登录系统,进入到cmd dos命令窗口 打开开始菜单的运行选项,输入cmd(或者直接在开始菜单的搜索栏搜索cmd), <1>C:\Users\Administrator>bcdedit /copy {default} /d "win8专业版 without Hyper-v" 已将该项成功复制到 {a74ddcfd-338d-11e2-9a5f-accc08373f35}. <2>C:\Users\Administrator>b

PNG24图片兼容IE6解决的方法

非常多人都遇到一个问题:那就是PNG不能正常显示,比方: 网上试过的非常多办法都非常难实现.要嘛就是效果不好,那如今最好的办法就是直接调用JS插件,解决! 点击下载 如今说一下怎么用这个文件吧! 首先看下代码: <!doctype html> <html> <head> <meta charset="UTF-8"> <title>PNG24兼容IE6</title> <style type='text/css

HTML5上传视频无法播放以及兼容的解决方法

一.视频无法播放原因分析 1.路径不对 <video width="100%" height="100%" controls="controls">   <source src="images/apply.mp4" type="video/mp4"></source>  </video> 在images前面不加斜杠,使用相对路径,不要使用绝对路径 2.视频格式

低版本IE浏览器不兼容placeholder解决方法

虽说现在很多网站都放弃了IE浏览器的低版本,但是很多时候咱们还得看甲方的要求就制作网站.如果甲方要求兼容IE789,那么咱们就得给人家做出来兼容的产品. 今天就IE789的input标签的placeholder说一说解决方法. 一.优雅降级解决(极力推荐) 也就是俗称的不解决细节,只要大体能满足浏览的要求就可以,placeholder低版本不显示,那么咱们就不在去做兼容方法,反正以后的几年IE低版本的浏览器会被淘汰. 二.使用input的value制作placeholder的效果 这个是我以前用

Error:const char* 类型的实参和LPCWSTR类型的形参不兼容的解决方法。

在C++的Windows 应用程序中经常碰到这种情况. 解决方法: 加入如下转换函数: LPCWSTR stringToLPCWSTR(std::string orig) { size_t origsize = orig.length() + 1; const size_t newsize = 100; size_t convertedChars = 0; wchar_t *wcstring = (wchar_t *) malloc(sizeof(wchar_t) *(orig.length()

浏览器兼容性问题及常见的解决方法

一.什么是浏览器兼容性问题 浏览器兼容性问题又称网页兼容性和网站兼容性问题,指网页在各种浏览器上的显示效果可能不一致二产生浏览器和网页间的兼容问题.在网站的设计和制作中,做好浏览器兼容,才能够让网站在不同的浏览器下都正常显示.而对于浏览器软件的开发和设计,浏览器对标准的更好兼容能够给用户更好的使用体验. 二.浏览器兼容性问题产生原因 因为不同浏览器使用内核及所支持的HTML等网页语言标准不同:以及用户客户端的环境不同(如分辨率不同)造成的显示效果不能达到理想效果.最常见的问题就是网页元素位置混乱

ie6,ie7,ie8 css bug汇总以及兼容解决方法

1:li边距“无故”增加 任何事情都是有原因的,li边距也不例外. 先描述一下具体状况:有些时候li边距会突然增 加很多,值也不固定(只在IE6/IE7有这种现象),让人摸不着头脑,仔细“研究”发现是由于其低级元素ul的padding引 起,padding的上下值对li有影响,左右无影 响.所以只好笨手笨脚地把padding去掉,换成margin.这是能解决问题,但往往不是我们想要的结果,或许 还会引起其他不必要的怪现象. 解决这个问题的方法,其实很简单,既然是有ul引 起的,就设置ul的显示形

ie6,ie7,ie8 css bug兼容解决方法

IE浏览器以不支持大量的css 属性出名,同时也因其支持的css属性中存在大量bug. 这里收集了好多的bug以及其解决的办法,都在这个文章里面记录下来了!希望以后解决类似问题的时候能够快速解决,也希望大家能在留言里面跟进自己发现的ie6 7 8bug和解决办法! 普通IE css bug bug名称 影响版本 描述 Image Label Focus Bug IE8,IE7,IE6 <img>元素在<label>元素之内,单击时,焦点不会转移到相应的表单控件 按钮Margin-A