- 浏览: 166533 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
crabboy:
goodhttp://veerle.duoh.com/comm ...
表格效果 -
lunvsxiao:
好呀,省的自己记那么多了。。
java常用正则表达式
首先说明一下,网上处理IE6下png透明的方法有很多,但无外乎两种情况:一种是使用AlphaImageLoader滤镜,一种是使用微软的VML语言进行绘制。只不过前一种情况有多种触发方式,所以出现了
iepngfix.htc,css样式,onload时触发的多种解决方式。
一、iepngfix.htc的使用
http://www.twinhelix.com/css/iepngfix/
页面加入如下代码
<!--[if lt IE 7]> <style type="text/css"> img, div{ behavior: url(style/iepngfix.htc) } /**根据需要处理png的地方修改此处**/ </style> <![endif]--> <script type="text/javascript" src="iepngfix_tilebg.js"></script>
具体使用方式参看该官网
二、图片onload时触发
var isIE6 = (function(){ var is6 = false; var Sys = {}; var ua = navigator.userAgent.toLowerCase(); (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : 0; if (Sys.ie) { var temp = parseInt(Sys.ie); if(temp==6) is6=true; } return is6; })(); function fixPng(img){ if (isIE6 && (/\.png$/i).test(img.src)){ var imgID = (img.id) ? "id='" + img.id + "' " : "" var imgClass = (img.className) ? "class='" + img.className + "' " : "" 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 + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" img.outerHTML = strNewHTML; } }
注意:
此种方法修复png后,img标签被替换为span标签了
可以将该方法扩展下,适应不同的需求
=========================================================================
在IE6下,如果将“检查网页的较新版本”设置为“每次访问网页时”,此时使用滤镜方法修复png透明就会偶尔出现IE6卡死的问题(页面请求数据较多时)。
网速慢得情况下,尤为明显。所以使用上述方法是也只有在设置为“自动”或者“每次启动Internet Explorer时”,判断onload才有效,因为无论如何,给滤镜设置src时都会引起一次请求!
=========================================================================
三、微软的VML语言进行绘制
这种方法不会引起IE6卡死,但网速慢得时候会渲染很慢,一时半会儿看不到图片,请求超时会有小红叉。
官网提供的源码不支持图片的放大缩小,需要修改下:
将el.vml.image.fill.type = 'tile';改为el.vml.image.fill.type = 'frame';(在315行)
建议填充shape时,以图片的原始大小填充。这样才会显示完整。
el.vml.image.shape.style.clip = 'rect('+c.T+'px '+(c.R+fudge)+'px '+c.B+'px '+(c.L+fudge)+'px)';(在243行,第二三个参数传入图片的原始宽,高)
综上:
1. 处理png问题时需要判断IE6,其它版本浏览器无需处理。
2. 个人建议:在IE6下尽量少使用半透明的png,在IE6下使用gif代替。这样效率也比较高
发表评论
-
img 图片显示多余空白解决方法
2014-09-03 23:01 0img 图片显示多余空白解决方法:在进行DIV+CSS排版时 ... -
js event.keyCode
2011-12-02 17:13 674keycode 8 = BackSpace BackSpace ... -
js event.keyCode
2011-12-02 17:06 2keycode 8 = BackSpace BackSpace ... -
我的笔记
2011-10-25 22:52 0http://www.ccxcn.com/blog/post/ ... -
HTTP状态码(HTTP Status Code)
2011-02-23 09:40 6831xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代 ... -
不使用中间变量,交换int型的 a, b两个变量的值
2011-02-22 18:08 720(function(){ var a = 10, b ... -
dom加载完的判断
2011-02-12 18:05 2977window.onload事件可以安全的执行javascr ... -
js节点操作
2011-02-11 16:14 796insertAdjacentElement方法 语法: ... -
上传图片预览-兼容IE6,IE7,IE8,FF
2011-01-20 14:07 689<!DOCTYPE html PUBLIC " ... -
动态加载javascript文件
2010-12-23 23:53 686动态加载javascript?很俗的一个题目,如果你已经知道如 ... -
Apache相关配置
2010-11-30 22:15 707强制IE缓存CSS中定义的图片 document.execC ... -
[JS]URLParser-html页面参数获取类
2010-10-11 09:05 652URLParser类代码 /* @class: ... -
JS函数库 common.js
2010-09-20 15:55 1102/****************************** ... -
简单的加解密
2010-09-12 20:51 610前段时间看到flash中写的一段混淆代码,现记录下,以备后用。 ... -
js排序
2010-09-02 16:37 751<html> <body> ... -
日期的格式化函数(转)
2010-08-17 15:38 634//Date.prototype.isLeapYe ... -
动态加载JS脚本的4种方法
2010-08-05 11:55 502动态加载JS脚本的4种方法 要 ... -
表格效果
2010-07-14 18:07 754web应用中的表格效果。 鼠标滑动时选中横行和竖列。 见附 ... -
所有浏览器中都能正常显示的字体
2010-07-04 01:31 930很佩服国外一些前端开发人员对待学问的研究精神,他们很善于总结发 ... -
信息提示框
2010-05-17 17:08 1340消息提示封装js /** ------ ...
相关推荐
ie6下 PNG透明处理ie6下 PNG透明处理
IE6下png透明处理脚本(js),包含了三种方式实现IE6下png不透明的问题,经实测通过。
IE6下PNG背景透明的方法IE6下PNG背景透明的方法IE6下PNG背景透明的方法IE6下PNG背景透明的方法IE6下PNG背景透明的方法
处理ie6下png格式图片透明的效果,及处理完之后再ie6下碰到的情况及建议。
完美解决IE6下png背景、图片透明问题
IE6下PNG格式图片透明问题JS代码,详情全在里面
js_IE6支持png透明解决png_ie6下不透明背景图片
解决ie6下png透明问题 在页面引入这个js文件,让回EvPNG.fix();
让 IE6 支持 PNG 透明 让 IE6 支持 PNG 透明
IE6png透明JS
IE6不兼容png透明背景解决方法,有效解决IE6下 透明图片浅灰背景的问题
网页设计在制作网站时时常会遇见IE6的PNG图片透明兼容问题,网上也有很多介绍关于IE6浏览器不显示PNG透明图片的解决方案,但多数是有问题的。应用PNG图片的透明或半透明的特性能做出非常漂亮的网页来。Firefox和...
ie6兼容png透明图片,导入js即可使ie6兼容png透明图片,无需调用。
包含了ie6下各种png图片透明的例子:用滤镜方法解决ie6下不透明问题,用pngfix js 的方法解决ie图片不透明,ie6 png透明 htc文件的方法
IE6支持PNG透明图片方法IE6支持PNG透明图片方法IE6支持PNG透明图片方法IE6支持PNG透明图片方法IE6支持PNG透明图片方法
ie6下png透明解决方法,共两种,大家都试一下比较好
最好的IE6下png透明图片修复代码,支持IE6下,透明png图片的平铺等css控制。内含源码及使用实例。
png格式图片在IE6下的兼容处理。
内含插件及使用说明 ie(IE)png半透明插件使用微软的VML语言对PNG图片进行重新绘制,以达到半透明的效果,并且能支持background-position和background-repeat属性。
IE6兼容PNG透明